【发布时间】:2021-03-24 22:20:33
【问题描述】:
在 pyqt5 应用程序中,我想在单击任何其他按钮时取消切换按钮。
当点击布局或小部件中的任何按钮时,是否可以发出信号?
我可以将每个按钮点击连接到一个取消切换功能,但如果按钮发生变化,这将很难维护。有没有一种简洁的方法来实现相同的功能,而不必一个一个地连接按钮?
【问题讨论】:
-
“取消切换按钮”是指*特定按钮吗?您能提供minimal, reproducible example吗?考虑寻找QButtonGroup。
-
查看QButtonGroup。我经常使用它。将按钮添加到组有一些开销。如果单击组中的一个按钮,则会发出 buttonClicked 信号。 QButtonGroup 可以在 QtDesigner/Creator 中创建,您可以在 Qt Designer/Creator 中将按钮添加到组中
-
您真的希望整个应用程序中的any按钮取消切换目标按钮吗?还是您只想将其限制为特定容器/父窗口小部件中的所有按钮?另外,键盘/快捷键激活呢?
QButtonGroup似乎是这里的最佳解决方案,因为它足够灵活,可以处理所有用例。