QtCore.QObject.connect(checkBox, QtCore.SIGNAL('stateChanged(int)'), change)
def change(self):
if self.checkBox.isChecked():
...
else:
...
#!/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_())