pyqt5中stateChanged
时间: 2024-05-07 20:21:21 浏览: 164
在PyQt5中,stateChanged是一个信号(signal),用于当一个控件的状态(state)发生改变时发送信号。它通常与QCheckBox、QRadioButton等控件一起使用,表示控件的选中状态(checked)是否发生变化。
stateChanged信号的语法格式为:
```
stateChanged[int].connect(slot_function)
```
其中,stateChanged是信号的名称,[int]表示信号会传递一个整数参数,connect()方法用于将信号连接到一个槽函数(slot function),当信号发出时,槽函数将会被调用。
下面是一个简单的示例代码,创建一个QCheckBox控件,并连接它的stateChanged信号到一个槽函数:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
cb = QCheckBox('Show title', self)
cb.move(20, 20)
cb.stateChanged[int].connect(self.changeTitle)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('QCheckBox')
self.show()
def changeTitle(self, state):
if state == 0:
self.setWindowTitle('QCheckBox')
else:
self.setWindowTitle('QCheckBox (checked)')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个QCheckBox控件,并将它的stateChanged信号连接到了changeTitle()槽函数。当用户改变控件的选中状态时,changeTitle()函数将会被调用,并根据控件的状态改变窗口的标题。
阅读全文