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

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

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

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

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

复制代码
btnGroup->setExclusive(false);
for (auto& x : btns) {
    ....
}
btnGroup->setExclusive(true);
相关推荐
蓝天智能3 分钟前
CMakeLists.txt配置详细介绍
c语言·开发语言·qt
娇娇yyyyyy2 小时前
Qt编程(3): 信号和槽函数
开发语言·数据库·qt
wwww.wwww2 小时前
qt程序执行时报错:无法定位程序输入点,但是通过IDE的run又可以正常的运行。
开发语言·ide·qt
森G3 小时前
11、交叉编译Opencv----------Opencv移植Arm
qt
乌鸦乌鸦你的小虎牙5 小时前
qt 5.12.8 配置报错(交叉编译环境)
开发语言·数据库·qt
森G7 小时前
8、交叉编译x264----------Opencv移植Arm
qt
笨笨马甲7 小时前
Qt QSS使用指南
开发语言·qt
笨笨马甲9 小时前
Qt的界面渲染体系
开发语言·qt
xmRao9 小时前
Qt+FFmpeg 实现摄像头采集并录制 YUV 格式视频
qt·ffmpeg·音视频
艾莉丝努力练剑9 小时前
【QT】常用控件(一):初识控件,熟悉QWidget
android·linux·数据库·qt·学习·mysql·qt5