Bonjour à toutes et à tous !
Je suis en train de coder une petite application contenant de petits outils de calculs et de conversion divers.
Le but est de partir d'une fenêtre d'accueil avec différents boutons qui permettront d'ouvrir des fenêtres secondaires contenant les différents outils.
J'avais débuté sur Tkinter mais pour plus de confort j'ai attaqué en PyQt (et je suis complètement novice).
J'en arrive à mon problème car il y en a bien un !
Je viens de faire mes deux premières fenêtres via QtDesigner, j'ai converti mes fichiers .ui en .py, tout va bien jusque là.
Je voulais dans un premier temps juste tester l'ouverture de la fenêtre (step by step).
Et voici la fameuse erreur : AttributeError: 'NoneType' object has no attribute 'setObjectName'
Je pense voir d'où vient le problème mais je n'arrive pas à le résoudre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part AttributeError: 'NoneType' object has no attribute 'setObjectName'
Voici le début de mon fichier accueil.py, qui contient le code de ma fenetre d'accueil :
et voici le code pour l'ouverture de la fenêtre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Aide_aux_calculs_et_conversions(object): def setupUi(self, Aide_aux_calculs_et_conversions): Aide_aux_calculs_et_conversions.setObjectName("Aide_aux_calculs_et_conversions") Aide_aux_calculs_et_conversions.resize(950, 430) palette = QtGui.QPalette() brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern)
Je me suis aidée de ce tutoriel, en appliquand le méthode de l'héritage multiple : https://www.google.fr/url?sa=t&rct=j...28M4cpAyaNULnt
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 from PyQt5.QtWidgets import * from PyQt5.QtCore import * import os,sys #improtation des GUI from accueil import * class FenetreAccueil(QWidget,Ui_Aide_aux_calculs_et_conversions): def __init__(self,parent=None): QWidget.__init__(self) self.setupUi(parent) if __name__ == "__main__": app = QApplication(sys.argv) main = FenetreAccueil() main.show() sys.exit(app.exec_())
Après avoir cherché l'origine de l'erreur j'ai cru comprendre que cela venait du fait que je passais parent=none en argument à setupUi.
Le soucis c'est que j'ai essayé plusieurs choses mais je ne trouve pas la solution.
Merci d'avance pour votre aide
Ps :
j'ai testé cette méthode qui fonctionne :
Mais j'aimerai comprendre pourquoi la première ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 class FenetreAccueil(QWidget): def __init__(self,parent=None): super(FenetreAccueil,self).__init__(parent) self.ui=Ui_Aide_aux_calculs_et_conversions() self.ui.setupUi(self)
Partager