Salut à tous,
Je me remets doucement à Qt à l'aide de PyQt.
J'essaie de déléguer du travail à un thread en arrière plan (je dérive de QThread et je réimplémente run()) et de déclencher un mise à jour de la GUI depuis ce thread de travail lorsqu'il a fini. Pour cela, dans ma méthode run(), je connecte mon signal à un slot de la classe parente :
QObject.connect(self, SIGNAL("updateView()"), self.glWidget, SLOT("updating()"))
L'objet self.glWidget a bien une méthode updating que je peux appeler en direct.
De même, si je fais :
QObject.connect(self, SIGNAL("updateView()"), self.glWidget.updating)
le slot est bien appelé, mais pas du bon thread
(je le constate car il ya un problème OpenGL derrière).
Je déclenche bien l'application puisque j'ai :
1 2 3 4
| app = QApplication(sys.argv)
form = MainWindow()
form.show()
app.exec_() |
Si quelqu'un a déjà réussi à déméler l'écheveau PyQt, je lui en serai gré (déjà, je sais que PyQt est bien moins élégant que wxPython, qu'il y a bien plus de limitations au niveau signal/slot, ...)
Partager