Qt中QCheckBox的三种状态设置

首先启用QCheckbox的tristate属性

cpp 复制代码
//启用QCheckBox的tristate属性,使checkbox有三种状态。例:
questionCheckBox->setTristate(true);


//使用setCheckState(Qt::CheckState state)函数设置checkbox当前的状态。例:
//Qt::CheckState是枚举类型有三个取值:Checked、UnChecked、PartiallyChecked。
qCheckBox->setCheckState(Qt::CheckState::Checked);
qCheckBox->setCheckState(Qt::CheckState::UnChecked);
qCheckBox->setCheckState(Qt::CheckState::PartiallyChecked)

qss文件中设置三种状态的indicator样式:

css 复制代码
QCheckBox::indicator:indeterminate{    /* 对应Qt::CheckState::PartiallyChecked状态 */
    image:url(:/images/images/checkbox-red.png);
}

QCheckBox::indicator:checked{      /*checked状态*/
    image:url(:/images/images/checkbox-green-correct.png);
}

QCheckBox::indicator:unchecked{        /*unchecked状态*/
    image:url(:/images/images/checkbox-unchecked-blue.png);
}

可以实现的效果:

状态:unchecked

状态:checked

状态:partiallyChecked对应qss中的indeterminate 伪状态

实现一个题目图例例表:

相关推荐
初遇你时动了情17 小时前
css中backdrop-filter 详细使用 ios毛玻璃效果、filter和backdrop-filter使用说明
前端·css
景彡先生19 小时前
Python Selenium详解:从入门到实战,Web自动化的“瑞士军刀”
前端·python·selenium
Liudef0620 小时前
DeepseekV3.2 实现构建简易版Wiki系统:从零开始的HTML实现
前端·javascript·人工智能·html
景早1 天前
vue 记事本案例详解
前端·javascript·vue.js
wangjialelele1 天前
Qt中的常用组件:QWidget篇
开发语言·前端·c++·qt
乔冠宇1 天前
vue需要学习的点
前端·vue.js·学习
用户47949283569151 天前
同样是 #,锚点和路由有什么区别
前端·javascript
Hero_11271 天前
在pycharm中install不上需要的包
服务器·前端·pycharm
爱上妖精的尾巴1 天前
5-26 WPS JS宏数组元素添加删除应用
开发语言·前端·javascript·wps·js宏
是谁眉眼1 天前
wpsapi
前端·javascript·html