Outils pour utilisateurs

Outils du site


qradiobutton_pyqt4

Boutons radio: QRadioButton

Créer un ensemble de radioboutons

radioButton_1 = QtGui.QRadioButton(patent)
radioButton_1.setText(u"choix 1")
 
radioButton_2 = QtGui.QRadioButton(parent)
radioButton_2.setText(u"choix 2")

Initialiser la sélection de l'un des radioboutons

radioButton_1.setChecked(True)

Tester la sélection de l'un des radioboutons

etat = radioButton_1.isChecked()

Petit code de test

#!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import division
 
import sys
from PyQt4 import QtCore, QtGui
 
class Fenetre(QtGui.QWidget):
    def __init__(self, parent=None):
        super(Fenetre, self).__init__(parent)
        self.setWindowTitle("Code test")
 
        # créer les 3 radioboutons
        self.groupBox = QtGui.QGroupBox(self)
        self.radioButton_1 = QtGui.QRadioButton(self.groupBox)
        self.radioButton_1.setText(u"choix 1")
        self.radioButton_2 = QtGui.QRadioButton(self.groupBox)
        self.radioButton_2.setText(u"choix 2")
        self.radioButton_3 = QtGui.QRadioButton(self.groupBox)
        self.radioButton_3.setText(u"choix 3")
 
        # sélectionner au lancement le radiobouton 0
        self.radioButton_1.setChecked(True)
 
        # faire que chaque modification des radioboutons exécute la méthode 'change'
        QtCore.QObject.connect(self.radioButton_1, QtCore.SIGNAL('clicked()'), self.change)
        QtCore.QObject.connect(self.radioButton_2, QtCore.SIGNAL('clicked()'), self.change)
        QtCore.QObject.connect(self.radioButton_3, QtCore.SIGNAL('clicked()'), self.change)
 
        # création d'une ligne d'édition
        self.lineEdit = QtGui.QLineEdit(self)
 
        # positionnement des widgets dans la fenêtre
        posit = QtGui.QGridLayout()
        posit.addWidget(self.groupBox, 0, 0, 1, 3)
        posit.addWidget(self.radioButton_1, 0, 0)
        posit.addWidget(self.radioButton_2, 0, 1)
        posit.addWidget(self.radioButton_3, 0, 2)
        posit.addWidget(self.lineEdit, 1, 0, 1, 3)
        self.setLayout(posit)
 
    def change(self):
        """méthode exécutée à chaque changement des radioboutons"""
        if self.radioButton_1.isChecked(): v = 1
        elif self.radioButton_2.isChecked(): v = 2
        elif self.radioButton_3.isChecked(): v = 3
        else: v = 1
        self.lineEdit.setText(unicode(v))
 
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('plastique'))
    fen = Fenetre()
    fen.show()
    sys.exit(app.exec_())
qradiobutton_pyqt4.txt · Dernière modification: 2010/10/05 08:16 par tyrtamos

Outils de la page