我正在使用Qt在Mac上用C ++编写应用程序。我想检测正在安装和卸载的驱动器,因此我使用的是DiskArbitration框架。我通过DARegisterDiskAppearedCallback
和DARegisterDiskDisappearedCallback
注册了一些回调函数,但只有在有runloop时才会触发。
启动合适的runloop的最佳方法是什么?
QThread CFRunLoopRun
(听起来有点过分)?
请详细说明,我并不精通线程。
答案 0 :(得分:2)
在OS X 10.7+上,您可以使用DASessionSetDispatchQueue
在您选择的调度队列上调用回调。然后,您可以将回调中的数据转发到常规Qt事件循环。