1. Livres & vidéos
  2. Framework PyQt
  3. Notions générales et inventaire des widgets
Extrait - Framework PyQt Développez vos interfaces graphiques en Python avec PyQt6
Extraits du livre
Framework PyQt Développez vos interfaces graphiques en Python avec PyQt6
3 avis
Revenir à la page d'achat du livre

Notions générales et inventaire des widgets

Notions générales en PyQt

1. Installer PyQt

a. Installation sur Windows

L’installation de PyQt6 sur Windows se fait facilement à l’aide de pip, le gestionnaire de paquets Python.

 En ligne de commande, taper la ligne suivante :

pip install PyQt6 

Contrairement à PyQt5, les outils de développement comme Qt Creator (qui fera l’objet du chapitre Développement rapide avec Qt Designer) ne sont pas inclus dans PyQt6. Il faut donc installer ces outils, dont Qt Designer, depuis le site officiel de Qt. Ceci est évidemment valable pour les autres systèmes d’exploitation de type Linux ou macOS.

b. Installation sur macOS

Tout comme sur Windows, on peut utiliser l’outil pip sur macOS, en ligne de commande.

pip install PyQt6 

On peut aussi utiliser l’outil Homebrew propre aux environnements Apple.

Homebrew est un gestionnaire de paquets pour macOS qui simplifie l’installation de logiciels en ligne de commande. Il permet aux utilisateurs de télécharger, d’installer, de mettre à jour et de gérer des applications ou des utilitaires open source facilement. Homebrew s’installe via le terminal et offre un large catalogue de logiciels, facilitant ainsi l’accès à des outils de développement et à d’autres applications sans passer par des fichiers binaires manuels.

 Si Homebrew n’est pas installé, installez-le avec cette commande :

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/ 
Homebrew/install/HEAD/install.sh)" 

Puis, pour installer PyQt6 :

 brew install qt@6 

Il faudra enfin éventuellement ajouter Qt au PATH pour que PyQt le trouve facilement :

echo 'export PATH="/opt/homebrew/opt/qt@6/bin:$PATH"' >>  
~/.zshrc  
source ~/.zshrc 

Sous macOS, le PATH est une variable d’environnement qui spécifie les répertoires où le système d’exploitation et les applications cherchent les exécutables à lancer en ligne de commande. Il contient une liste de chemins, séparés par des deux-points, indiquant où les fichiers exécutables peuvent être trouvés.

c. Installation sur Linux

 Avant d’installer PyQt6, installez les dépendances Qt nécessaires avec :

sudo apt update  ...

Inventaire des widgets PyQt

1. Widget QWidget

QWidget, que nous avons déjà abordé dans le présent chapitre, est la classe de base pour tous les widgets dans PyQt. Tous les autres widgets héritent de cette classe, ce qui en fait un composant essentiel de toutes les interfaces graphiques.

Dans l’exemple suivant, une fenêtre simple est créée et affichée. L’objet FenetreSimple hérite ici de QWidget et fait donc de cette fenêtre un widget à part entière.

import sys  
from PyQt6.QtWidgets import QApplication, QWidget  
  
class FenetreSimple(QWidget):  
   def __init__(self):  
       super().__init__()  
       self.init_ui()  
  
   def init_ui(self):  
       self.resize(250, 300)  
       self.move(50, 500)  
       self.setWindowTitle("Bonjour tout le monde !")  
       self.show()  
  
if __name__ == '__main__':  
   app = QApplication(sys.argv)  
   fenetre = FenetreSimple()  
   sys.exit(app.exec()) 

Un QWidget peut servir non seulement de conteneur pour d’autres widgets, mais aussi de base pour structurer et organiser les éléments d’une interface graphique. Il peut contenir divers types de widgets, comme des boutons, des labels, des champs de texte et même des widgets plus complexes comme des tableaux ou des zones de dessin. Comme nous l’avons vu précédemment, ces widgets peuvent être disposés et organisés à l’aide de layouts (comme QVBoxLayout, QHBoxLayout ou QGridLayout vus précédemment), permettant de contrôler la manière dont ils sont affichés et redimensionnés au sein de la fenêtre.

Un autre aspect clé du QWidget est qu’il peut être hérité pour créer des widgets personnalisés. En héritant de QWidget, vous pouvez définir vos propres widgets avec des comportements spécifiques, des méthodes supplémentaires ou des apparences personnalisées. Par exemple, vous pouvez créer...