Wenn ich z.B. eine Application habe, dann einen Dialog anzeige, der einen Thread startet und dieser Thread den Dialog (oder sonstige GUI-Elemente) aktualisieren soll, ist es dann sinnvoll und "Threadsafe" dies ueber Signale und Slots zu machen? Kuemmert sich QT um das Synchronisieren (damit nicht 2 Threads versuchen die GUI zu steuern)
in wxWidgets gibt es ja wx.CallAfter, sowas braeuchte ich ja dann hier nicht oder?
Ich mochte also ein Signal definieren, bei dessen auftreten eine Funktion aufgerufen wird die die GUI aktualisiert.
Wenn nicht, wie macht man das in QT,dass Threads die GUI aktualisieren koennen?
Ein link zur entsprechenden Funktion reicht mir vollkommen (z.B. hier: http://doc.trolltech.com/4.4/index.html )
Danke und cu
PyQt4 und Multithreading
Ja, Signale und Slots sind Thread-safe. Bei Verbindungen über verschiedene Threads garantiert Qt, dass der Slot immer in dem Thread aufgerufen wird, in dem das Objekt "lebt."maxip hat geschrieben:Wenn ich z.B. eine Application habe, dann einen Dialog anzeige, der einen Thread startet und dieser Thread den Dialog (oder sonstige GUI-Elemente) aktualisieren soll, ist es dann sinnvoll und "Threadsafe" dies ueber Signale und Slots zu machen? Kuemmert sich QT um das Synchronisieren (damit nicht 2 Threads versuchen die GUI zu steuern)
Allerdings braucht man Threads nicht häufig, Qt hat bereits viele Klassen für asynchrone Aufgaben.