Trigger OSX Runloop von qt auslösen
-
27-10-2019 - |
Frage
Ich schreibe eine Anwendung in C ++ mit QT auf Mac. Ich möchte die montierten und unmontierten Laufwerke erkennen, damit ich das Diskarbitration -Framework verwende. Ich habe einige Callback -Funktionen übernommen DARegisterDiskAppearedCallback
und DARegisterDiskDisappearedCallback
Aber diese feuern nur, wenn es einen Runloop gibt.
Was ist der beste Weg, um eine geeignete Runloop zu starten?
Qthread mit CFRunLoopRun
(Klingt ein bisschen übermäßig)?
Bitte geben Sie Details an, ich bin in Threads nicht gut vertraut.
Lösung
Unter OS X 10.7+ können Sie verwenden DASessionSetDispatchQueue
Damit Ihre Rückrufe in einer Versandwarteschlange Ihrer Wahl aufrufen. Sie können die Daten dann vom Rückruf an Ihre reguläre QT -Ereignisschleife weiterleiten.