gpt4 book ai didi

python - 打开和关闭 QPushButton

转载 作者:行者123 更新时间:2023-12-01 05:10:52 28 4
gpt4 key购买 nike

我在 PyQt 中有一个应用程序,其中有几个按钮可以在应用程序的模式之间切换。

我将按钮的 clicked() 信号链接到适当的方法。我的问题是还有其他方法可以更改模式(例如,加载设置将自动将用户移至默认模式),并且我使用 QPushButtons 作为“事件模式”的指示器。以前这是通过每个按钮有两个图标来实现的,一个表示按钮关闭,另一个表示按钮打开。这一切都是在 QtDesigner 中设计的,因此单击一个按钮即可将其打开(并关闭其他按钮)并相应地更改图标。当鼠标被释放时,该按钮保持打开状态。

该按钮保持打开状态,直到按下另一个按钮。

我试图弄清楚如何在用户不实际按下按钮的情况下将按钮从“开”更改为“关”,这样我就可以适本地更改模式。

Qt 文档引用了我正在寻找的属性,但我找不到比这些状态存在的事实更多的细节:

The most important modes or states are:

  1. Available or not (grayed out, disabled).

  2. Standard push button, toggling push button or menu button.

  3. On or off (only for toggling push buttons).

  4. Default or normal. The default button in a dialog can generally be "clicked" using the Enter or Return key.

  5. Auto-repeat or not.

  6. Pressed down or not.

( http://qt-project.org/doc/qt-5/QPushButton.html )

更具体地说,我正在寻找一种查看 QPushButton 状态的方法;查看它是“开”还是“关”,我正在寻找一种方法来改变该状态。

编辑:我找到了适当的方法 QPushButton.isOn() 但问题是它在 Qt3 中。 (我使用的是Qt5,这个方法不再存在)。显然它现在已经过时了,有人知道它被什么取代了吗? http://doc.qt.digia.com/3.2/qpushbutton.html#isOn

最佳答案

QPushButton 继承自 QAbstractButton,因此具有以下方法:isCheckedsetChecked isCheckablesetCheckable。这样您就可以将按钮转换为切换按钮并询问/设置状态。还有 setAutoRepeatautoRepeat 以编程方式控制自动重复。

特别是使用 isChecked 代替 isOn

此外,它还继承自 QWidget,后者具有方法 isEnabledsetEnabled。通过此功能,您可以激活/停用按钮,该按钮通过使按钮变灰以及禁止点击按钮来显示。

基本上只需研究 QAbstractButton 的文档即可和 QWidget了解如何以编程方式与 QPushButton 交互以启用/禁用它。

关于python - 打开和关闭 QPushButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24250292/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com