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

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

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

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

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

复制代码
btnGroup->setExclusive(false);
for (auto& x : btns) {
    ....
}
btnGroup->setExclusive(true);
相关推荐
金涛03191 小时前
QT-day1
开发语言·qt
流星白龙4 小时前
【Qt】3.认识 Qt Creator 界面
java·开发语言·qt
伐尘4 小时前
【Qt】QTableWidget 自定义排序功能实现
开发语言·qt
ajassi20005 小时前
开源 C++ QT QML 开发(十九)多媒体--音频录制
c++·qt·开源
野猪亨利6676 小时前
Qt day1
开发语言·数据库·qt
isaki1376 小时前
qt day1
开发语言·数据库·qt
流星白龙6 小时前
【Qt】4.项目文件解析
开发语言·数据库·qt
早点.早点.9 小时前
QT登陆界面
开发语言·qt
流星白龙12 小时前
【Qt】7.信号和槽_connect函数用法(1)
开发语言·数据库·qt
流星白龙16 小时前
【Qt】1.安装QT
开发语言·qt