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:
self.actionImporter.triggered.connect(self.actionImport())
TypeError: argument 1 has unexpected type 'NoneType'
Alors que si je remplace cette ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 self.actionImporter.triggered.connect(self.actionImport())
par celle-ci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
  self.actionImporter.triggered.connect(main_ui.close)
Çà fonctionne, donc mon héritage semble correct.

Voici mon code:
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_())
1. Pouvez-vous me dire si mon héritage est correct ? si j'utilise les bonnes pratiques ?
2. Pouvez-vous m'expliquer pourquoi çà ne fonctionne pas afin de remédier à ce problème ?

D'avance merci

Bonne soirée.

Guillaume