Forum Python

Please or S’enregistrer to create posts and topics.

layout vertical avec PyQt5 ?

Comment créer un layout vertical avec PyQt5 ? Et comment y insérer des widgets

PyQt5 est doté d'un layout qui organise les widgets d'une façon verticale nommé QVBoxLayout. Pour en créer un il suffit de suivre les étapes suivantes:

  • - Importer les modules nécessaires: QApplication, QWidget, QVBoxLayout, QPushButton, QLabel
  • - Créer une application contenant une fenêtre principale.
  • - Créer un layout vertical en faisant une instanciation sur la classe QVBoxLayout().
  • - Associer le layout à la fenêtre.

Exemple simple de layout QVBoxLayout:

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

# 1. Créer une application
app = QApplication(sys.argv)

# 2. Créer une fenêtre principale
window = QWidget()
window.setWindowTitle('Exemple de layout vertical')
window.setGeometry(100, 100, 300, 200)

# 3. Créer un layout vertical
layout = QVBoxLayout()

# 4. Ajouter des widgets au layout
label = QLabel('Ceci est une étiquette')
button1 = QPushButton('Bouton 1')
button2 = QPushButton('Bouton 2')
button3 = QPushButton('Bouton 3')

layout.addWidget(label)
layout.addWidget(button1)
layout.addWidget(button2)
layout.addWidget(button3)

# 5. Définir le layout à la fenêtre
window.setLayout(layout)

# 6. Afficher la fenêtre
window.show()

# 7. Lancer l'application
sys.exit(app.exec_())

 

Ce qui affiche après execution: