TUTORIEL JAVA 
Aborder Qt avec Python
Présentation de Qt, bibliothèque Open Source autorisant la création d'interfaces natives multiplate-formes, au travers de son implémentation Python, PyQt4. (31/05/2006)
  1. Instalation et comparaison avec Tkinter
2. Avantages de Qt, signal/slot

Qt est une bibliothèque de composants graphiques (ou widgets), développée par la société norvégienne Trolltech et disponible nativement sur systèmes Windows, OS X et X11 (Linux, Solaris, HP-UX...). Outre cet aspect multiplate-forme, cette bibliothèque présente également l'avantage d'être disponible sous une double licence Open Source/commerciale, ce qui la rend utilisable pour les projets GPL comme les projets propriétaires - de la même manière que pour MySQL, donc.

Qt est particulièrement mise en avant depuis qu'elle a été choisie comme bibliothèque graphique standard pour le bureau Linux KDE. Qt est aujourd'hui à KDE ce que GTK est à Gnome.

Nous allons aborder ici comment utiliser Qt comme bibliothèque graphique pour applications Python. Python est plus souvent utilisé en combinaison avec Tkinter, une bibliothèque graphique basée sur Tcl/Tk, créée par des développeurs Python et utilisée pour construire l'outil IDLE. Python dispose également de wxPython, qui ne fonctionne pas sous OS X, PyGTK/PyGnome qui est plus ou moins complet selon la plate-forme, et Pythonwin, limité à Windows. De tous, Qt semble être la meilleure alternative.

Installer et configurer PyQt
La première étape consiste à télécharger et installer SIP. Il s'agit là d'un outil servant à créer des liaisons Python pour bibliothèques écrites en C ou C++. PyQt a été développé à l'aide de SIP, et ce dernier doit être installé et configuré avant de passer à l'installation de PyQt.

L'installateur PyQt4 est disponible à cette adresse. Téléchargez le premier fichier binaire, nommé à l'heure de la publication "PyQt4-gpl-4.0beta1-Py2.4-Qt4.1.2.exe", et lancez l'installateur. Celui-ci devrait viser votre dossier Python, et y créer le dossier \Lib\site-packages\PyQt4, avec les fichiers attenants.

Une fois SIP et PyQt4 installé, il reste à configurer SIP pour être pris en compte par Python, en lançant le fichier configure.py qui se trouve à la racine du dossier SIP. Celui-ci génère les fichiers sipconfig.py, sipconfig.pyc et Makefile. C'est ce dernier qui vous permettra de finaliser l'installation et la configuration : lancez les actions qu'il contient à l'aide de la commande make. Python reconnaît maintenant Qt.

Comparaison Tk/Qt
Nous allons voir ici comment construire le classique Hello World à l'aide de Qt et de son grand concurrent, Tkinter. Voici tout d'abord comment créer une fenêtre avec un bouton donnant la phrase magique, à l'aide de Qt.
  1. import sys
  2. from PyQt4 import QtGui
  3. app = QtGui.QApplication(sys.argv)
  4. btn = QtGui.QPushButton("Hello world!")
  5. app.setMainWidget(btn)
  6. btn.show()
  7. app.exec_loop()
  Forum

Réagissez dans les forums de JDN Développeurs

On fait ici appel tout d'abord au module QtGui de PyQt, qui contient toutes les fonctionnalités d'interface graphique. Sa classe QApplication gère les flux de contrôles et les principaux réglages de l'interface de l'application. QPushButton permet ensuite de créer une instance de bouton de commande, celui ayant pour simple argument son étiquette. show() affiche l'élément, et n'est pas une méthode spécifique de QPushButton, mais héritée de la classe parente QAbstractButton, qui elle-même tient cette méthode de sa parente QWidget.

Voici ensuite la version de la bibliothèque Tkinter :
  1. from Tkinter import *
  2. app = Tk()
  3. btn = Button(app, text='Hello world!')
  4. btn.pack()
  5. app.mainloop()
A priori, pas de grosses différences entre les utilisations des deux bibliothèques.

  1. Instalation et comparaison avec Tkinter
2. Avantages de Qt, signal/slot
 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages