PyQt Lab est un outil puissant et facile à utiliser pour créer des applications graphiques. Il offre une interface graphique minimale qui permet aux développeurs de créer des applications avec une interface utilisateur intuitive et attrayante. Dans cet article, nous allons examiner les bases de PyQt Lab et comment il peut être utilisé pour créer des applications graphiques. Nous verrons comment créer des interfaces graphiques simples et intuitives, comment ajouter des fonctionnalités et comment intégrer des bibliothèques externes. Nous verrons également comment PyQt Lab peut être utilisé pour créer des applications pour différentes plates-formes.
PyQt Lab’ : Les Bases : L’interface graphique minimale.
Par X. HINAULT – Juin 2013

Ce que l’on va faire ici
- Dans ce programme PyQt, je montre comment écrire le programme minimum pour obtenir une interface graphique avec PyQt
- Le tuto détaillé est disponible ici : Votre premier programme PyQt : Hello World ! (17 p.)
Pré-requis
- python 2.7
- pyqt4.x
Téléchargement des codes
- L’archive avec les codes est disponible ici : https://gist.github.com/sensor56/094767897cf4d50427b9/download
- Pour cloner le dépôt :
Le fichier d’interface *.py
- Fichier obtenu automatiquement avec l’utilitaire pyuic4 à partir du fichier *.ui créé avec QtDesigner :
# Form implementation generated from reading ui file
#
# Created: Mon Dec 31 09:34:41 2012
# by: PyQt4 UI code generator 4.9.1
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName(_fromUtf8(« Form »))
Form.resize(307, 128)
self.label = QtGui.QLabel(Form)
self.label.setGeometry(QtCore.QRect(100, 50, 141, 20))
self.label.setObjectName(_fromUtf8(« label »))
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
Form.setWindowTitle(QtGui.QApplication.translate(« Form », « PyQt : label », None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate(« Form », « TextLabel », None, QtGui.QApplication.UnicodeUTF8))
if __name__ == « __main__ »:
import sys
app = QtGui.QApplication(sys.argv)
Form = QtGui.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
- Ce code est disponible ici : https://gist.github.com/sensor56/094767897cf4d50427b9/raw/90aaa09d1db785a1a6a190dbb07763c84b26f907/tuto_pyqt_bases_label_texte.py
Le fichier d’application *Main.py
# -*- coding: utf-8 -*-
# par X. HINAULT – nov 2012 – Tous droits réservés
# GPLv3 – www.mon-club-elec.fr
# modules a importer
from PyQt4.QtGui import *
from PyQt4.QtCore import * # inclut QTimer..
import os,sys
from tuto_pyqt_bases_label_texte import * # fichier obtenu à partir QtDesigner et pyuic4
class myApp(QWidget, Ui_Form): # la classe reçoit le Qwidget principal ET la classe définie dans *.py obtenu avec pyuic4
def __init__(self, parent=None):
QWidget.__init__(self) # initialise le Qwidget principal
self.setupUi(parent) # Obligatoire
#Ici, placer le code actif de votre application
self.label.setText(« Hello World ! ») # affiche le message dans le label
def main(args):
a=QApplication(args) # crée l’objet application
f=QWidget() # crée le QWidget racine
c=myApp(f) # appelle la classe contenant le code de l’application
f.show() # affiche la fenêtre QWidget
r=a.exec_() # lance l’exécution de l’application
return r
if __name__==« __main__ »: # pour rendre le code exécutable
main(sys.argv) # appelle la fonction main
Ce code est disponible ici : https://gist.github.com/sensor56/094767897cf4d50427b9/raw/aae58b434aa4835c4ab7bcd044528aa0ca344e9d/tuto_pyqt_bases_label_texteMain.py
Utilisation
- Les 2 fichiers suivants sont à enregistrer dans un même répertoire, l’un en nom.py et l’autre en nomMain.py.
- Puis lancer l’application depuis Geany ou équivalent, en exécutant le fichier nomMain.py
- Au lancement, la fenêtre graphique doit apparaître avec le message « Hello World ! »
Articles Liés
- Javascript : Graphique Dygraphs simple
Le Javascript est un langage de programmation très populaire et puissant qui permet aux développeurs…
- Javascript : Graphique Dygraphs : afficher date à partir unixtime
Le langage de programmation Javascript est très populaire et est utilisé pour créer des applications…
- Javascript :Graphique Dygraphs simple avec timeline
Le Javascript est un langage de programmation très populaire et puissant qui permet aux développeurs…