Qt——【若按钮点击后无反应,UI界面中已经勾选Checkable属性, 并且调用了按钮的setchecked(false), 但是页面就是不切换状态

几经排查,发现是按钮组的Exclusive属性造成的。Exclusive属性执行后, 当有一个选中,并且没有选择其它按钮时,此按钮一直为选中状态。即使执行了按钮的setchecked(false)。

如果QAbstractButton属于独占组,则不能取消选中它,问题中提供的代码就是这种情况。

这是预期的行为,正如我在另一个问题中解释的那样,它被记录下来了。

您可以尝试更改lambda以删除组上的Exclusive属性,然后取消选中所有按钮,然后恢复该属性。这意味着:

复制代码
btnGroup->setExclusive(false);
for (auto& x : btns) {
    ....
}
btnGroup->setExclusive(true);
相关推荐
宠..6 小时前
安装 Qt VS Tool 插件
开发语言·qt
菜鸟-017 小时前
QT:BMS_TTL
开发语言·qt
Larry_Yanan11 小时前
Qt线程使用(一)直接继承QThread类
开发语言·c++·qt·ui
宠..13 小时前
Qt 6 详细介绍
开发语言·qt
xxp432113 小时前
Qt 多线程
开发语言·qt
一叶之秋141213 小时前
Qt中的信号与槽
qt
开始了码13 小时前
QT::键盘事件简单介绍
qt
lijiatu1008613 小时前
[C++ ]qt槽函数及其线程机制
c++·qt
i***171813 小时前
使用 Qt 插件和 SQLCipher 实现 SQLite 数据库加密与解密
数据库·qt·sqlite
遇到困难睡大觉哈哈13 小时前
HarmonyOS IPC/RPC 实战:用 ArkTS 跑通 Proxy–Stub 整条链路
qt·rpc·harmonyos·鸿蒙