Bonjour à tous
voila je fais une petite application qui peux s'utiliser soit en interface graphique (avec pyqt) soit en CLI.
j'ai une fonction à threader: "MaFonction"
Si j'utilise ma class via QThread -> class MaFonction(QThread):
* dans le premier cas (GUI), j'initialise ma fenêtre X, puis je lance un thread "MaFonction" pour faire mes petites actions grâce a QThread, pas de problème.
* dans le second cas (CLI), comme il n'y a pas de fenêtre Qt, le lancement du QThread est problématique:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 line 26, in __init__ super(TelechargerMegaupload,self).__init__(parent) TypeError: QThread(QObject parent=None): argument 1 has unexpected type 'instance' C:\Documents and Settings\Administrateur\Bureau\BotMU>python BotMU.py
a l'inverse, si j'utilise threading.Thread -> class MaFonction(threading.Thread)
* dans le premier cas, j'ai une erreur :
* dans le second, ça fonctionne (sans avoir poussé la chose)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 QObject: Cannot create children for a parent that is in a different thread. (Parent is mainWidget(0x18fb690), parent's thread is QThread(0x188dcc8), current thread is QThread(0x1961e38)
Donc:
je suis obligé de faire deux classe différente MaFontion(threading.Thread) et MaFonction(QThread) ou y a t il une solution qui mettrai tt le monde d'accord ?
Details important: mon Thread renvoie des informations a son parent toute les x secondes (via un SIGNAL en pyqt, ou via un appel direct (self.parent.fonction) dans le cas du thread.
Merci![]()
Partager