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