如何设置QAction复选状态下的信号
时间: 2024-05-04 14:19:00 浏览: 176
你可以使用 `QAction` 的 `toggled(bool)` 信号来监听复选状态的变化。当复选状态发生变化时,该信号会被触发,并且传递一个 `bool` 类型的参数,表示当前的复选状态。
示例代码如下:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个 QAction,并设置为复选状态
self.checkableAction = QAction('Checkable Action', self)
self.checkableAction.setCheckable(True)
# 监听 QAction 的 toggled(bool) 信号
self.checkableAction.toggled.connect(self.onCheckableActionToggled)
# 将 QAction 添加到菜单栏中
self.menuBar().addAction(self.checkableAction)
self.show()
def onCheckableActionToggled(self, isChecked):
# 处理复选状态变化的逻辑
if isChecked:
print('Action is checked')
else:
print('Action is unchecked')
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
app.exec_()
```
运行该代码,可以看到一个带有一个复选项的菜单栏。当你选择或取消选择该项时,控制台会输出相应的信息。
阅读全文