Methode nach Threadende aufrufen



  • Hallo,

    ich hoffe, ich habe mich nicht in der Rubrik geirrt.

    Ich führe von einem Objekt einen Thread aus, die in einem Qt-Fenster etwas zeichnet. (Das eigentliche Problem hat allerdings nur sekundär etwas mit Qt zu tun)

    Da Qt meckert, wenn ich nicht im GUI-Thread (bzw. main thread) zeichne, suche ich eine Möglichkeit, das Zeichnen so auszulagern, dass es im GUI-Thread aufgerufen wird. Der Thread an sich dauert aber eine Weile und ich will auch nicht, dass der Main-Thread wartet, bis er fertig ist.

    Gibt es eine Möglichkeit, dass ein Objekt nach Beendigung des Threads eine Methode aufruft, ohne dass der Main-Thread aktiv warten muss?



  • Du bist in Qt: emittier ein SIGNAL und fang es im Hauptthread ab.



  • Hallo,

    wie soll das gehen, wenn der Hauptthread darauf nicht warten soll?

    Ich würde halt am Ende des Threads dem Mainthread ein Signal schicken. Welche Methode Du zum Verschicken des Signals verwendet, hängt aber von Deiner Umgebung ab. Ich kenne jetzt QT nicht aber mit Windows kannst Du beliebige Nachrichten an ein beliebiges Fenster schicken, das dann entsprechend reagiert. Vieleicht kann QT sowas ja auch.

    mfg Martin



  • Ich danke euch für eure Antworten, damit hat es geklappt!


Anmelden zum Antworten