PyQt5 Tutorials

Boutons radio PyQt5 : Guide complet

Spread the love

Ce tutoriel fournit un guide complet sur l’utilisation du widget QRadioButton de PyQt5. Nous aborderons les bases, explorerons la méthode setChecked et nous plongerons dans la création de groupes de boutons radio pour une sélection mutuellement exclusive. Commençons !

Table des matières :

  1. Exemple de base de QRadioButton
  2. La méthode setChecked
  3. Création de groupes de boutons radio
  4. Gestion de la sélection de l’utilisateur

1. Exemple de base de QRadioButton

Le QRadioButton permet aux utilisateurs de sélectionner une option parmi un ensemble. Voici un exemple simple :


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

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("Exemple de QRadioButton PyQt5")

layout = QVBoxLayout()
label = QLabel("Sélectionnez une option :")
layout.addWidget(label)

radio1 = QRadioButton("Option 1")
radio2 = QRadioButton("Option 2")
radio3 = QRadioButton("Option 3")

layout.addWidget(radio1)
layout.addWidget(radio2)
layout.addWidget(radio3)

window.setLayout(layout)
window.show()
sys.exit(app.exec_())

Cela crée trois boutons radio indépendants. Pour vérifier lequel est sélectionné, utilisez la méthode isChecked().

2. La méthode setChecked

Sélectionnez un bouton radio par programmation à l’aide de setChecked(True) ou désélectionnez-le avec setChecked(False).


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

# ... (code précédent) ...

button = QPushButton("Sélectionner l'option 2")
button.clicked.connect(lambda: radio2.setChecked(True))

layout.addWidget(button)

# ... (reste du code) ...

Cela ajoute un bouton qui sélectionne « Option 2 » lorsqu’il est cliqué.

3. Création de groupes de boutons radio

Pour une sélection mutuellement exclusive, utilisez QButtonGroup. Cela garantit qu’un seul bouton du groupe peut être sélectionné à la fois.


import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QRadioButton, QVBoxLayout, QButtonGroup

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("Exemple de groupe de QRadioButton PyQt5")

layout = QVBoxLayout()
label = QLabel("Sélectionnez une option :")
layout.addWidget(label)

button_group = QButtonGroup()
radio1 = QRadioButton("Option 1")
radio2 = QRadioButton("Option 2")
radio3 = QRadioButton("Option 3")

button_group.addButton(radio1, 1)
button_group.addButton(radio2, 2)
button_group.addButton(radio3, 3)

layout.addWidget(radio1)
layout.addWidget(radio2)
layout.addWidget(radio3)

window.setLayout(layout)
window.show()
sys.exit(app.exec_())

4. Gestion de la sélection de l’utilisateur

Gérez efficacement la sélection de l’utilisateur à l’aide du signal buttonClicked :


button_group.buttonClicked.connect(lambda button: print(f"Option sélectionnée : {button_group.id(button)}"))

Cela imprime l’ID (affecté lors de l’ajout au groupe) du bouton sélectionné. Remplacez l’instruction print par l’action souhaitée.

Cette approche améliorée évite de vérifier manuellement l’état de chaque bouton et fournit une solution plus robuste et organisée pour gérer les sélections de boutons radio dans vos applications PyQt5.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *