qcheckbox信号和槽
时间: 2023-10-31 22:07:55 浏览: 101
QCheckBox是Qt中的一个复选框控件,它可以用来表示一个二元状态,即选中或未选中。当QCheckBox的选中状态发生变化时,它会发出一个信号stateChanged(int state),state为选中状态,0表示未选中,1表示选中。
我们可以通过连接QCheckBox的stateChanged(int state)信号和一个槽函数来响应它的状态变化。例如:
```python
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.cb = QCheckBox('Show title', self)
self.cb.move(20, 20)
self.cb.toggle() # 初始为选中状态
self.cb.stateChanged.connect(self.changeTitle) # 连接信号和槽
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('QCheckBox')
self.show()
def changeTitle(self, state):
if state == Qt.Checked:
self.setWindowTitle('QCheckBox')
else:
self.setWindowTitle('')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
上述代码创建了一个QCheckBox控件,并初始为选中状态。当QCheckBox的状态发生变化时,它会发出stateChanged信号,我们连接这个信号和changeTitle槽函数。changeTitle函数根据传入的state参数来设置窗口的标题。如果state为Qt.Checked,表示QCheckBox被选中,窗口的标题为'QCheckBox';否则,窗口的标题为空。