Bonjour à tous.

Je rencontre un petit souci entre le thread principale et secondaire.

Dans le thread principale qui est ma fenetre d'interface developper sous PyQt5, j'envoie une variable "NomSQL" a un thread secondaire pour effectuer une lecture d'une base de donnée SQL. Jusque la tout vas bien.

A la lecture, le thread enregistre les valeur dans 2 tableaux X et Y avec des valeur int. la aussi tout vas bien.

Je bloque sur le moyen d'envoyer ces 2 tableaux au thread principale pour dessiner un graphique. Je pense que c'est qu'une histoire de paramètres dans cette ligne : "Graphique = pyqtSignal(int,int) "mais je ne trouve pas .

Voici le code du thread:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class Matplot(QtCore.QThread):                                                          # Thread de creation Table SQL
 
        Graphique = pyqtSignal(int,int)                                                 # liaison signal entre la fenetre et le thread
 
        def __init__(self, parent, NomSQL):
 
                super(Matplot, self).__init__(parent)                                   # Permet la transmission de parametre entre la class fenetre et le QThread
 
                self.NomSQL = NomSQL                                                    #Transmission de la variable Nb
 
        def run(self):
 
                X = []
 
                Y = []
 
                try:
 
                        mydb = mc.connect(
 
                                host="localhost",
 
                                user=USER.strip(), 
 
                                password=MDP.strip(), 
 
                                database="RADIORT"
 
                        )
 
                        mycursor = mydb.cursor()
 
                        query1 = "SELECT time FROM " + self.NomSQL
 
                        query2 = "SELECT BdfMoy FROM " + self.NomSQL
 
                        mycursor.execute(query1)
 
                        rows = mycursor.fetchall() 
 
                        for row in rows: 
 
                                X.append(int('{0}'.format(row[0])))
 
                        mycursor.execute(query2)
 
                        rows = mycursor.fetchall() 
 
                        for row in rows: 
 
                                Y.append(int('{0}'.format(row[0])))
 
                        self.Graphique.emit(X, Y)
 
 
                finally:
 
                        mydb.close()
Merci d'avance pour votre aide