Bonjour à tous,
Voilà je viens de découvrir python et maintenant PyQt.
Je suis sous Python 3.4 avec la bibli PyQt5.
J'essaye de concevoir une mini fenêtre pour mon script qui comporterait dans un premier temps 3 boutons.
Ce script fonctionne comme un planificateur de tâche (Il est très basique pour le moment) et permet donc de lancer une tâche toutes les X minutes.
Ma fenêtre comporte un bouton (bouton 2 états) par tâche et quand celui-ci est "pressed" il doit changer la variable "statut_task" en True.
J'ai pourtant regardé tous les tutos possible et celui avec lequel je travaille en se moment est celui-ci:
http://web.univ-pau.fr/~puiseux/ense...Qt-zero.4.html
même quand je copie/colle les 2 fichiers de test qu'il fournis (Main.py & maFenetre2.py) j'obtiens un message d'erreur.
Voici le message d'erreur avec les 2 fichiers fournis:
maFenetre2.py
Main.py
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 #!/usr/bin/python #-*-coding: utf-8 -*- from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * import os, sys class MaFenetre(QWidget): def __init__(self): QWidget.__init__(self) self.setFixedSize(200, 100) self.slider = QSlider(Qt.Horizontal, self) self.slider.setRange(200, 600) self.slider.setGeometry(10, 40, 150, 20) self.connect(self.slider, SIGNAL("valueChanged(int)"), self.changerLargeur) def changerLargeur(self,largeur): self.setFixedSize(largeur,100)
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 #!/usr/bin/python #-*-coding: utf-8 -*- from PyQt5 import QtCore from PyQt5.QtWidgets import * from PyQt5.QtGui import * import os, sys, maFenetre2 def main(args): a=QApplication(args) fenetre=maFenetre2.MaFenetre() fenetre.show() r=a.exec_() return r if __name__=="__main__": main(sys.argv) Traceback (most recent call last): File "C:\Python34[/B]\Lib\site-packages\TestMain.py", line 21, in <module> main(sys.argv) File "C:\Python34\Lib\site-packages\TestMain.py", line 14, in main fenetre=maFenetre2.MaFenetre() File "C:\Python34\Lib\site-packages\maFenetre2.py", line 17, in __init__ self.connect(self.slider, SIGNAL("valueChanged(int)"), self.changerLargeur) AttributeError: 'MaFenetre' object has no attribute 'connect'
Maintenant mes fichiers,
maFenetre.py:
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 #!/usr/bin/python #-*-coding: utf-8 -*- from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * import os, sys class MaFenetre(QWidget): def __init__(self, FL=220, FH=100): QWidget.__init__(self) self.setWindowIcon(QIcon("icone.ico")) self.setWindowTitle("Application") self.setFixedSize(FL, FH) bouton1 = QPushButton("Task_1"self) bouton1.setCheckable(True) bouton2 = QPushButton("Task_2", self) bouton2.setCheckable(True) bouton3 = QPushButton("Task_3", self) bouton3.setCheckable(True) self.connect(bouton1, SIGNAL("pressed()"), self.statut_task) self.monLayout = QGridLayout() self.monLayout.addWidget(bouton1,0,0,1,1) self.monLayout.addWidget(bouton2,1,0,1,1) self.monLayout.addWidget(bouton3,2,0,1,1) self.setLayout(self.monLayout) def statut_task(self): statut_saver=True
Main.py:
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 #!/usr/bin/python #-*-coding: utf-8 -*- from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * import os, sys, maFenetre statut_saver=False def main(args): a=QApplication(args) fenetre=maFenetre.MaFenetre() fenetre.show() r=a.exec_() return r if __name__=="__main__": main(sys.argv) Traceback (most recent call last): File "C:\Python34\Lib\site-packages\Main.py", line 21, in <module> main(sys.argv) File "C:\Python34\Lib\site-packages\Main.py", line 14, in main fenetre=maFenetre.MaFenetre() File "C:\Python34\Lib\site-packages\maFenetre.py", line 25, in __init__ self.connect(bouton2, SIGNAL("pressed()"), self.statut_task) AttributeError: 'MaFenetre' object has no attribute 'connect'
Voilà je sais que c'est surement une connerie comme d'habitude mais je sature ..
Si quelqu'un à le courage de me lire, merci d'avance !
Bien à vous
Gauthier
Partager