Outils pour utilisateurs

Outils du site


qcheckbox_pyqt4

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

qcheckbox_pyqt4 [2010/09/24 21:20] (Version actuelle)
tyrtamos créée
Ligne 1: Ligne 1:
 +====== Case à cocher: QCheckBox ======
 +
 +===== Créer un checkbox =====
 +
 +<code python>
 +checkBox = QtGui.QCheckBox(u"​Case à cocher",​ parent)
 +</​code>​
 +
 +===== Initialiser le checkBox =====
 +
 +<code python>
 +checkBox.setChecked(False) ​ # retire la coche
 +checkBox.setChecked(True) ​ # met la coche
 +</​code>​
 +
 +===== Tester l'​état du checkBox =====
 +
 +<code python>
 +etat = checkBox.isChecked() # donne True si coché et False sinon
 +</​code>​
 +
 +===== Déclencher un évènement à chaque changement d'​état =====
 +
 +<code python>
 +QtCore.QObject.connect(checkBox,​ QtCore.SIGNAL('​stateChanged(int)'​),​ change) ​
 +</​code>​
 +
 +<code python>
 +def change(self):​
 +    if self.checkBox.isChecked():​
 +        ...
 +    else:
 +        ...
 +</​code>​
 +
 +===== Petit code test =====
 +
 +<code python>
 +#​!/​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 le checkBox
 +        self.checkBox = QtGui.QCheckBox(u"​Case à cocher",​ self)
 +        ​
 +        # initialiser le checkBox à 'non coché'​
 +        self.checkBox.setChecked(False)
 +                ​
 +        # faire que chaque modification du checkBox exécute la méthode '​change'​
 +        QtCore.QObject.connect(self.checkBox,​ QtCore.SIGNAL('​stateChanged(int)'​),​ 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.checkBox,​ 0, 1)
 +        posit.addWidget(self.lineEdit,​ 1, 0, 1, 3)
 +        self.setLayout(posit)
 +
 +    def change(self,​ nb):
 +        """​méthode exécutée à chaque changement des radioboutons"""​
 +        if self.checkBox.isChecked():​
 +            self.lineEdit.setText(u"​coché"​)
 +        else:
 +            self.lineEdit.setText(u"​non coché"​)
 +
 +if __name__ == "​__main__":​
 +    app = QtGui.QApplication(sys.argv)
 +    QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('​plastique'​))
 +    fen = Fenetre()
 +    fen.show()
 +    sys.exit(app.exec_())
 +</​code>​
 +
 +
  
qcheckbox_pyqt4.txt · Dernière modification: 2010/09/24 21:20 par tyrtamos