某一个checkBox选中时,跳转到槽函数执行,如何实现
时间: 2023-08-14 21:04:55 浏览: 104
GUI开发示例代码---QTdesigner实现自定义槽函数
3星 · 编辑精心推荐
可以使用 PyQt5 中的信号与槽机制来实现。
首先,在设计界面时,在需要的 checkBox 控件的属性中设置其状态为可选中(如 `setCheckable(True)`),然后在信号与槽中连接该控件的 `stateChanged` 信号和自定义的槽函数。具体代码如下:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
from PyQt5.QtCore import Qt
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
checkbox = QCheckBox('Check Box', self)
checkbox.move(20, 20)
checkbox.setCheckable(True)
checkbox.stateChanged.connect(self.checkboxStateChanged)
def checkboxStateChanged(self, state):
if state == Qt.Checked:
# 当 checkBox 被选中时执行的操作
print('CheckBox checked')
else:
# 当 checkBox 被取消选中时执行的操作
print('CheckBox unchecked')
if __name__ == '__main__':
app = QApplication([])
w = MyWidget()
w.show()
app.exec_()
```
在上述代码中,我们创建了一个名为 `MyWidget` 的 QWidget 子类,通过 `QCheckBox` 创建了一个 checkBox 控件并设置其可选中。然后,我们将该控件的 `stateChanged` 信号连接到自定义的 `checkboxStateChanged` 槽函数中。在该槽函数中,我们通过 `state` 参数判断 checkBox 的状态,并根据不同的状态执行相应的操作。在本例中,当 checkBox 被选中时,输出 `CheckBox checked`,当 checkBox 被取消选中时,输出 `CheckBox unchecked`。
阅读全文