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

实现一个题目图例例表:

相关推荐
m0_敲代码的彭于晏1686 小时前
Vercel 前端部署平台深度评测
前端
怕浪猫8 小时前
外包和大厂的前端代码,差在凌晨三点
前端·面试·github
m0_敲代码的彭于晏1688 小时前
Vercel 前端部署与全栈开发实战指南
前端·状态模式
徐小夕8 小时前
花了3个月,我们做了一款 AI 版的“飞书文档”
前端·算法·github
贾伟康8 小时前
【化学实验室|17】HarmonyOS ArkTS 亮暗色与视觉令牌实战:集中颜色、间距和交互状态避免页面割裂
前端·移动开发·harmonyos·arkts·arkui
Csvn9 小时前
SSR/SSG/ISR(上):峡谷与渲染策略的时间预算
前端
Csvn9 小时前
SSR/SSG/ISR(下):可交互性、新鲜度与回源账
前端
Elcker12 小时前
YnuoAgent(依诺):一个 npm 包,跑起属于自己的 AI 研发平台
前端·人工智能·npm
计算机魔术师12 小时前
发现2天,修复2个月:AI挖穿PHP后,卡兹克讲透攻防时间差
前端
风骏时光牛马12 小时前
测试标题001
前端