2009-01-14 7 views
0

Je suis l'insertion d'un crochet dans la boucle de messages MFC de sorte que les événements Qt sont traités, sans courir -> exec() sur QAPP (parce qu'elle bloque):Porting bibliothèque Windows en utilisant Qt pour MacOSX, événement boucles

LRESULT CALLBACK myHookFn(int ncode, WPARAM wparam, LPARAM lparam) { 
    if (qApp) qApp->sendPostedEvents(); 
    return CallNextHookEx(0, ncode, wparam, lparam); 
} 

et

int argc = 0; 
new QApplication(argc, NULL); 
SetWindowsHookEx(WH_GETMESSAGE, myHookFn, 0, threadId); 

Ma question est:

Quels sont les mécanismes équivalents à l'insertion de crochet MFC qui peuvent être utilisés sous MacOSX afin que sendPostedEvents pourrait aussi appeler?

Répondre

1

Cela devrait se faire automatiquement avec Qt Mac 4.5 (les ports Carbon et Cocoa) - puisque Qt est enregistré comme CFRunLoopSource dans CFRunLoop et le callback appellera sendPostedEvents. Voir aussi qeventdispatcher_mac.mm dans src/gui/kernel de Qt 4.5

Questions connexes