在我的Python应用程序中,我使用PySide创建GUI,其中还包括一个菜单栏。添加“正常”操作(即连接到函数的操作)工作正常。
现在我需要在栏中的其中一个菜单中添加一个可切换的菜单选项。新的应该在启用时显示旁边的“已选中”图标,或者在禁用时显示任何内容。因此,菜单选项可以设置为打开或关闭,但不应调用任何操作或连接功能。
有没有办法在标准的PySide中实现这个目标?
答案 0 :(得分:2)
您可以使用checkable
属性简单地检查操作。之后,如果您不想使用信号来捕获它的状态变化,您可以使用它的isChecked
方法来查询它的状态。
简单示例:
from PySide.QtGui import *
def main():
app = QApplication([])
window = QMainWindow()
bar = QMenuBar(window)
window.setMenuBar(bar)
m = QMenu('menu', bar)
bar.addMenu(m)
action = QAction('action', m, checkable=True)
m.addAction(action)
window.show()
app.exec_()
print(action.isChecked())
if __name__ == '__main__':
main()