Bonjour à tous,
Je viens de commencer à utiliser PyQt.
J'ai créé mon interface graphique avec qt Designer.
J'ai généré le code python avec pyqt4.
Ensuite j'ai crée ma classe ci-dessous afin d’hériter de la classe générée pour ajouter les actions derrière les boutons.
Seulement je rencontre des problèmes.
Lorsque j’essaye de définir mon action à réaliser j'ai une erreur:
Alors que si je remplace cette ligne:self.actionImporter.triggered.connect(self.actionImport())
TypeError: argument 1 has unexpected type 'NoneType'
par celle-ci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.actionImporter.triggered.connect(self.actionImport())
Çà fonctionne, donc mon héritage semble correct.
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.actionImporter.triggered.connect(main_ui.close)
Voici mon code:
1. Pouvez-vous me dire si mon héritage est correct ? si j'utilise les bonnes pratiques ?
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 from main_ui import Ui_main_ui from PyQt5 import QtGui, QtWidgets import sys class Main(Ui_main_ui): def __init__(self, parent=None): self.setupUi(parent) self._initSlotButtons() def _initSlotButtons(self): self.actionImporter.triggered.connect(self.actionImport()) def actionImport(self): print("import") #self.filenameImport = QtWidgets.QFileDialog.getOpenFileName(Main, self, "ouvrir un fichier", "", filter="", options=0) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) main_ui = QtWidgets.QMainWindow() ui = Main(main_ui) main_ui.show() sys.exit(app.exec_())
2. Pouvez-vous m'expliquer pourquoi çà ne fonctionne pas afin de remédier à ce problème ?
D'avance merci
Bonne soirée.
Guillaume
Partager