Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. PyQt5
  3. Introduction et présentation de PyQt
Extrait - PyQt5 Développez vos interfaces graphiques en Python
Extraits du livre
PyQt5 Développez vos interfaces graphiques en Python
4 avis
Revenir à la page d'achat du livre

Introduction et présentation de PyQt

Présentation générale

1. Introduction

Ce livre traitant de la technologie PyQt s’adresse à des personnes connaissant le langage Python et souhaitant développer des interfaces graphiques évoluées. Une connaissance minimale du langage C++ peut être un plus sans être du tout obligatoire : elle permet toutefois d’appréhender plus facilement la documentation en ligne de Qt. Enfin, quelques connaissances à propos de bases de données relationnelles et des requêtes SQL peuvent aider au cours du chapitre dédié à ces aspects.

Qu’est-ce que le module PyQt ?

C’est un module Python permettant d’utiliser l’API de développement d’interfaces graphiques Qt dévolues originellement au monde C++. Qt qui se prononce comme le mot anglais cute (mignon, en français) peut par ailleurs être perçu autant comme un framework que comme une API. En effet, Qt redéfinit tous les types manipulés : à titre d’exemple, on ne manipulera pas un code couleur RGB ou TSV en Qt, mais un type QColor spécifique à Qt.

S’intéresser aux différents contextes de développement et d’utilisation de Qt implique donc d’approfondir l’histoire et la nature de Qt. Dans un second temps, nous étudierons ce que nous pouvons qualifier d’« écosystème entourant PyQt ». Nous détaillerons au passage le positionnement et la nature de PySide et des logiciels SIP et Qt Designer. Nous nous intéresserons en particulier aux licences entourant ces différents produits. Enfin, nous chercherons à détailler la nature même de PyQt, avant de prendre un premier exemple de développement PyQt. Il sera alors temps de rentrer dans le vif du sujet, ceci dès le second chapitre.

L’objectif de cet ouvrage est de simplifier l’utilisation de PyQt...

Installation de PyQt

1. Introduction

La version retenue de PyQt est celle en cours lors de l’écriture de ce livre (début 2020). Il s’agit donc de la version 5.14.11 ; on parle en général de PyQt5, la version succédant à PyQt4. Le présent livre est donc consacré à PyQt et spécialement focalisé sur PyQt5.

PyQt peut s’utiliser sur les principaux systèmes d’exploitation, à savoir GNU/Linux, Windows et MacOS. Voyons donc sur chacun d’entre eux comment installer PyQt.

On suppose enfin que l’installation de PyQt se fait sur une machine disposant de Python dans sa version 3 (Python 3).

2. Installation de PyQt

Sur chacun des trois systèmes d’exploitation, l’outil d’installation du module PyQt5 recommandé est pip. La ligne de commande suivante permet d’installer PyQt5 :

pip3 install pyqt5 

On peut souhaiter installer le module uniquement pour l’utilisateur courant, auquel cas on écrira la ligne suivante :

pip install --user PyQt5 

3. Installation de Qt Designer

Un premier moyen d’utiliser Qt Designer est d’installer Qt Creator qui le contient. Ce logiciel est disponible gratuitement. Lors de l’écriture du présent livre, le lien de téléchargement du logiciel est disponible à cette adresse : https://download.qt.io/official_releases/qtcreator/4.9/4.9.0/...

Premier exemple en PyQt

1. Introduction

Qt est un monde à lui seul. Il est constitué de nombreux modules. PyQt consiste pour sa part en une passerelle entre Qt et le code Python dans lequel on veut réaliser des interfaces. Les trois principaux modules de Qt sont les suivants :

  • QtCore

  • QtGui

  • QtWidgets

Voici ci-dessous une brève présentation de chacun de ces trois modules.

Module QtCore

QtCore est le module fondamental, car il est d’une certaine manière requis dès lors que l’on travaille avec Qt. Il contient des aspects comme le threading (gestion des processus), la gestion des évènements et plus généralement la gestion des entrées-sorties.

Module QtGui

QtGui est le module qui gère l’ensemble de l’affichage graphique basé sur la technologie OpenGL (depuis PyQt5). Il n’y a par contre plus aucune classe définie de widget dans ce module (on entend par widget un contrôle graphique).

Module QtWidgets

QtWidgets est le module qui inclut les classes relatives aux widgets, c’est-à-dire aux différents composants graphiques qui seront étudiés au chapitre suivant.

2. Un programme « Hello world »

Nous cédons ici à la pratique du « Hello world », c’est-à-dire à l’écriture du programme le plus simple possible qui permet de montrer une première concrétisation de l’utilisation de PyQt.

D’emblée, voici le code de notre « Hello world » que nous détaillerons ensuite ligne à ligne :

import sys 
from PyQt5.QtWidgets import QApplication...

Conclusion du chapitre

Ce chapitre introductif nous a permis de comprendre quel est le positionnement de PyQt vis-à-vis de Qt. Nous avons également vu comment créer une application (QApplication), comment créer un widget (ici une fenêtre simple de type QWidget) et comment l’afficher.

Enfin, nous avons vu comment exécuter une application, ce qui provoque l’activation d’une boucle d’évènements (exec_). Il est à présent temps de découvrir dans le détail les nombreux modules Qt utilisables par un programme Python grâce à PyQt5. Le chapitre suivant va donc être consacré à l’inventaire des principaux widgets graphiques utilisables en PyQt.