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 伪状态

实现一个题目图例例表:

相关推荐
烛阴29 分钟前
Sin -- 重复的、流动的波浪
前端·webgl
北'辰3 小时前
DeepSeek智能考试系统智能体
前端·后端·架构·开源·github·deepseek
前端历劫之路3 小时前
🔥 1.30 分!我的 JS 库 Mettle.js 杀入全球性能榜,紧追 Vue
前端·javascript·vue.js
爱敲代码的小旗4 小时前
Webpack 5 高性能配置方案
前端·webpack·node.js
Murray的菜鸟笔记4 小时前
【Vue Router】路由模式、懒加载、守卫、权限、缓存
前端·vue router
苏格拉没有底了5 小时前
由频繁创建3D火焰造成的内存泄漏问题
前端
阿彬爱学习5 小时前
大模型在垂直场景的创新应用:搜索、推荐、营销与客服新玩法
前端·javascript·easyui
橙序员小站5 小时前
通过trae开发你的第一个Chrome扩展插件
前端·javascript·后端
Lazy_zheng5 小时前
一文掌握:JavaScript 数组常用方法的手写实现
前端·javascript·面试
是晓晓吖5 小时前
关于Chrome Extension option的一些小事
前端·chrome