从Qt触发OSX runloop

时间:2012-01-13 11:45:31

标签: macos qt diskarbitration

我正在使用Qt在Mac上用C ++编写应用程序。我想检测正在安装和卸载的驱动器,因此我使用的是DiskArbitration框架。我通过DARegisterDiskAppearedCallbackDARegisterDiskDisappearedCallback注册了一些回调函数,但只有在有runloop时才会触发。

启动合适的runloop的最佳方法是什么?

QThread CFRunLoopRun(听起来有点过分)?

请详细说明,我并不精通线程。

1 个答案:

答案 0 :(得分:2)

在OS X 10.7+上,您可以使用DASessionSetDispatchQueue在您选择的调度队列上调用回调。然后,您可以将回调中的数据转发到常规Qt事件循环。