Problème de Qthread et de signal ?
Bonjour,
J'ai encore un problème avec mon code :
Avant j'avais une fonction qui permettait de savoir si mon logiciel était à jour et qui se lançait au début, cependant la recherche de MAJ ralentissait le démarrage de l'application de quelques secondes.
Maintenant j'ai ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
....
signalMajIsAvailable = QtCore.pyqtSignal()
....
class CheckUpdate(QtCore.QThread):
def __init__(self):
super(CheckUpdate, self).__init__()
def run(self):
....
if localVersion < cloudVersion:
signalMajIsAvailable.emit()
self.terminate()
class Main:
def __init__(self):
self.mainWindow = QtWidgets.QMainWindow(...)
....
signalMajIsAvailable.connect(self.updateAvailable)
self.a = CheckUpdate()
self.a.start()
....
self.mainWindow.show()
def updateAvailable(self):
windowupdateIsAvailable = QtWidgets.QDialog(self.mainWindow, windowTitle="Mise à jour disponible", modal=True)
....
windowupdateIsAvailable.show()
if __name__ == '__main__':
Main() |
Sauf que j'obtient AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect', de ce que j'ai compris il faut absolument que les pyqtSignal soit construits et connectés dans une classe à par entière héritant de QObject ...
Sauf que je j'arrive pas à trouver comment faire pour que la recherche de mise à jour se fasse en arrière plan avec des Qthread