Erstellen Sie eine benutzerdefinierte Nachricht/Ereignis mit Qt

Ich habe eine RPC-thread, der den Aufruf zurück, um mich von diesem thread. Ich muss ja irgendwie informieren Qt, die es braucht, um einen Aufruf der Funktion aus dem Haupt-thread. In gerade Windows konnte ich dies tun, indem Sie eine benutzerdefinierte Nachricht und dann posten, die message an die message queue, z.B., ich könnte einen WM_CALLFUNCTION - Nachricht und übergeben Sie den Funktionszeiger durch wParam und die parameter (Klasse Zeiger) durch lParam.

Hat jemand eine Idee, wie ich könnte dies mit Qt? Ich bin gekommen, über QCustomEvent aber ich habe keine Ahnung, wie es zu benutzen ist oder wie Sie zu verarbeiten. Jede Hilfe wäre enorm geschätzt!

Edit:

Am Ende ging ich mit QMetaObject::invokeMethod, die einwandfrei funktioniert.

statt QCustomeEvent, warum nicht mit den signal/slot-Mechanismus?
In welcher Art und Weise ... Wie würde ich das nennen, das von thread B so ein, dass Ein Thread führt die Funktion ...?
Qt signal/slot-Mechanismus ist thread-sicher und kann verwendet werden, auf mehrere threads. Look-up-tutorials auf Signale/slots, wenn Sie nicht wissen, wie.

InformationsquelleAutor Goz | 2011-05-19

Schreibe einen Kommentar