0% ont trouvé ce document utile (0 vote)
419 vues4 pages

Interface Qt pour scripts Python

Ce document explique comment créer une interface graphique avec Qt pour des scripts Python. Il décrit les étapes d'installation des bibliothèques nécessaires, de création d'une interface avec Qt Designer, de génération du code Python correspondant et de liaison des actions aux composants.

Transféré par

Georges Akbann
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
419 vues4 pages

Interface Qt pour scripts Python

Ce document explique comment créer une interface graphique avec Qt pour des scripts Python. Il décrit les étapes d'installation des bibliothèques nécessaires, de création d'une interface avec Qt Designer, de génération du code Python correspondant et de liaison des actions aux composants.

Transféré par

Georges Akbann
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Créez une interface graphique Qt

pour vos scripts Python

Un script Python en ligne de commande c’est bien, mais la majorité des utilisateurs
préfèrent utiliser une belle fenêtre avec des cases à cocher et des boutons.

Tkinter est la bibliothèque graphique d’origine pour Python. Il existe aussi Qt, un
framework multiplateforme. Le logiciel Qt Designerpermet de créer des interfaces
graphiques dans un environnement convivial. Il suffit de glisser-déposer les
composants.

Installation
Linux
Téléchargez et installez la version Open Source de Qt sur le site officiel.

Installez PyQt5, le module libre liant le langage Python avec la bibliothèque Qt :

sudo apt-get install python3-pyqt5


Installez l’utilitaire pyuic5 qui permet de convertir une interface graphique en code
Python :

sudo apt-get install pyqt5-dev-tools


Python 3 est normalement installé par défaut.

Windows
Téléchargez et installez :

 la version Open Source de Qt sur le site officiel.


 PyQt5 sur le site officiel.
 Python 3 sur le site officiel.
Création de l’interface
Démarrez Qt Creator.

Cliquez sur Nouveau projet, choisissez Application Qt avec widgets puis kit
Desktop pour une application “ordinateur de bureau”. Laissez les autres paramètres
par défaut.

On va ignorer le code C++ généré automatiquement. Ce qui nous intéresse c’est le


fichier [Link]. Pour information, il s’agit d’un fichier XML décrivant la fenêtre
et ses composants. Double-cliquez dessus pour passer en mode Design :

Créons une fenêtre avec une liste d’éléments (QListWidget) et un bouton :

Il est possible d’avoir un aperçu du résultat en cliquant sur le bouton suivant en bas à
gauche :
En ligne de commande, placez-vous dans le dossier du projet et tapez :

pyuic5 [Link] -x -o [Link]


Vous disposez maintenant d’un script Python nommé [Link] contenant tout le code
nécessaire pour exécuter l’interface graphique. Vous pouvez le visualiser par curiosité,
mais il est inutile de le modifier, car vous l’écraserez avec la commande précédente à
chaque mise à jour de l’interface.

Le script est exécutable et affiche la fenêtre :

python3 [Link]
Nous donne :

Mais le bouton ne fonctionne pas et la liste est vide ! Et oui, c’est à vous de coder les
actions que vous souhaitez effectuer sur ces objets.

Voici un script qui utilise cette fenêtre, remplit la liste avec des chiffres et définit des
évènements lorsqu’on clique sur les composants. Nommez-le comme vous voudrez :

#!/usr/bin/python3
# -*- coding: utf-8 -*-

from PyQt5 import QtWidgets


import gui # import du fichier [Link] généré par pyuic5

class MyWindow([Link]):

def __init__(self, parent=None):


[Link].__init__(self, parent)
[Link] = gui.Ui_MainWindow()
[Link](self)
# un clic sur le bouton appellera la méthode 'action_bouton'
[Link](self.action_bouton)

# on rempli la liste avec des chiffres


for i in range(20):
[Link](str(i))

# un clic sur un élément de la liste appellera la méthode


'on_item_changed'

[Link](self.on_item_changed)

# on affiche un texte en bas de la fenêtre (status bar)


[Link]("coucou")

def action_bouton(self):
print('Appui bouton.')

def on_item_changed(self):
print([Link]().text())

if __name__ == '__main__':
import sys
app = [Link]([Link])
window = MyWindow()
[Link]()
[Link](app.exec_())
Vous pouvez faire évoluer votre fenêtre dans Qt Creator, ajouter des éléments,
modifier leur taille… et recommencer les étapes ci-dessus.

Vous aimerez peut-être aussi