【问题标题】:Signals emitted by QMenubar checkboxes in PyQtPyQt 中 QMenubar 复选框发出的信号
【发布时间】:2016-02-04 04:18:32
【问题描述】:

我在 Qt Designer 中创建了一个 MainWindow,并在其下拉列表中为某些项目提供了复选框。显然,当单击其中一个下拉列表中的项目时,我可以捕捉到触发信号。但是,请谁能告诉我如何测试点击是否改变了相应复选框的状态。显然,仅单击该项目并不总是会导致这种变化。复选框本身是否会在每次其状态更改时发出已选中/未选中的信号?如何在 Python 中捕捉到这样的信号?

好的,我认为我的粗略代码不会很有帮助:

app = QApplication(sys.argv)
mainwidget = loadUi("main.ui")
mainwidget.show()
mainwidget.ACTION.triggered.connect(EVENTHANDLER_IF_CLICKED)
mainwidget.ACTION.stateChanged(int ???).connect(EVENTHANDLER_IF_CHECKED)

我的想法是以某种方式将 ACTION 发出的信号(其中 ACTION 表示菜单栏项)连接到任一事件处理程序。目前我打算在课外做这件事。它适用于“点击”事件。但我不知道如何用复选框来做到这一点。

【问题讨论】:

  • 您需要提供minimal example
  • 好的,我认为我的粗略代码不会很有帮助:

标签: python qt checkbox


【解决方案1】:

嗯,似乎没有我想要的信号。无论您对菜单栏中的复选框做什么,都会发出异常触发信号。但是,复选框的状态似乎是菜单栏中项目的“布尔”属性。因此,我发现依赖触发信号并在它调用的事件处理程序中测试属性很有帮助。 感谢任何试图提供帮助的人。

【讨论】:

    【解决方案2】:

    尝试捕捉 stateChanged(int state) 信号事件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-02
      • 2015-06-06
      • 2017-10-13
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 2021-12-17
      相关资源
      最近更新 更多