Sommaire

Inventaire des widgets de disposition en PyQt Widgets:de disposition

1. QHBoxLayout et QVBoxLayout Widgets:QHBoxLayout Widgets:QVBoxLayout

a. Introduction

Les deux premiers widgets de disposition que nous allons étudier sont QHBoxLayout et QVBoxLayout. Ils sont traités conjointement, car d’une part ils dérivent de la même classe QBoxLayout et d’autre part ils obéissent tous deux à la même logique de disposition. Cette logique de disposition est horizontale pour QHBoxLayout et verticale pour QVBoxLayout.

Les documentations en ligne des classes QBoxLayout, QHBoxLayout, QVBoxLayout sont respectivement aux adresses suivantes :

https://doc.qt.io/qt-5/qboxlayout.html

https://doc.qt.io/qt-5/qhboxlayout.html

https://doc.qt.io/qt-5/qvboxlayout.html

b. Premier exemple avec QVBoxLayout

Commençons par déclarer les classes dont nous allons avoir besoin.

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton,  
QVBoxLayout

Créons une application et une fenêtre.

app = Qapplication([]) 
fenetre = QWidget()

Nous pouvons alors créer un objet de disposition verticale, c’est-à-dire que les widgets seront ajoutés les uns après les autres et selon une orientation verticale.

disposition = QVBoxLayout()

En l’occurrence, on ajoute cinq boutons qui seront ainsi alignés les uns après les autres, verticalement.

disposition.addWidget(QPushButton(’Premier’)) 
disposition.addWidget(QPushButton(’Second’)) 
disposition.addWidget(QPushButton(’Troisième’))  ...