Bonjour

Merci pour ce tutos
Je suis nouveau sur PyQt et j'ai suivi ce tutoriel (avec les écueils exposés par cenwen )
J'ai essayé de faire ma simple application mais je butte sur la classe à étendre
Dans le tutoriel on utilise QGroupBox mais non exemple utilise une simple form et je n'arrive pas à trouver l’équivalent (j'ai essayé QForm et QFormLayout sans succès)

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
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from hello import Ui_Form
import sys
 
class HelloWorldApplication(QForm):
 
    def __init__(self, parent=None):
        super(HelloWorldApplication, self).__init__(parent)
        self.createWidgets()
 
    def createWidgets(self):    
        self.ui = Ui_Form() 
        self.ui.setupUi(self)
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    myapp = HelloWorldApplication()
    myapp.show()
    sys.exit(app.exec_())
Voici le code hello.py converti de hello.ui par pyuic4
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
from PyQt4 import QtCore, QtGui
 
try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s
 
try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)
 
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(240, 126)
        self.pushButton = QtGui.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(80, 70, 75, 23))
        self.pushButton.setObjectName(_fromUtf8("pushButton"))
        self.label = QtGui.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(90, 30, 54, 14))
        self.label.setObjectName(_fromUtf8("label"))
 
        self.retranslateUi(Form)
        QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.label.clear)
        QtCore.QMetaObject.connectSlotsByName(Form)
 
    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form1", None))
        self.pushButton.setText(_translate("Form", "clear", None))
        self.label.setText(_translate("Form", "Hello World", None))
Configuration
Python 2.7
QT Designer 4.8.5

Note: Les screenshot d’écran serait avantageusement remplacées par des fenêtres de code afin de permettre les copier/coller (oui, oui je suis faignant ). A réfléchir pour un tuto en PyQt5