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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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, ...)