【发布时间】:2013-11-17 03:18:05
【问题描述】:
在我的 Python 应用程序中,我使用 PySide 创建 GUI,其中还包括一个菜单栏。添加“正常”操作(即连接到函数的操作)工作正常。
现在我需要向栏中的其中一个菜单添加一个可切换的菜单选项。启用时,该新图标旁边应显示“选中”图标,或禁用时不显示任何内容。因此该菜单选项可以设置为打开或关闭,但它不应调用任何操作或连接的函数。
有没有办法在标准 PySide 中实现这一点?
【问题讨论】:
在我的 Python 应用程序中,我使用 PySide 创建 GUI,其中还包括一个菜单栏。添加“正常”操作(即连接到函数的操作)工作正常。
现在我需要向栏中的其中一个菜单添加一个可切换的菜单选项。启用时,该新图标旁边应显示“选中”图标,或禁用时不显示任何内容。因此该菜单选项可以设置为打开或关闭,但它不应调用任何操作或连接的函数。
有没有办法在标准 PySide 中实现这一点?
【问题讨论】:
您可以使用它的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()
【讨论】: