2012-01-13 3 views
2

Mac에서 Qt를 사용하는 C++ 응용 프로그램을 작성하고 있습니다. DiskArbitration 프레임 워크를 사용하기 때문에 마운트 된 드라이브와 마운트 해제 된 드라이브를 감지하고 싶습니다. DARegisterDiskAppearedCallbackDARegisterDiskDisappearedCallback을 통해 일부 콜백 함수를 등록했지만 실행 루프가있는 경우에만 실행됩니다.Qt의 OSX runloop 트리거

적합한 런 루프를 시작하는 가장 좋은 방법은 무엇입니까?

QThread를 CFRunLoopRun (조금 과하게 들릴 수 있음)?

세부 사항을 알려주세요. 스레드에 정통하지 않습니다.

+0

'QThread'에서'CFRunLoopRun'을 할 수 있습니까? 나는'DASessionSetDispatchQueue'와 같은 특별한 메소드를 가지고 있지 않은 라이브러리에 이것을 사용하고 싶습니다. – dashesy

답변

2

OSX 10.7 이상에서는 DASessionSetDispatchQueue을 사용하여 원하는 발송 대기열에서 콜백을 호출 할 수 있습니다. 그런 다음 콜백의 데이터를 일반 Qt 이벤트 루프로 전달할 수 있습니다.