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 :
- Exemple de base de
QRadioButton
- La méthode
setChecked
- Création de groupes de boutons radio
- 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.