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

实现一个题目图例例表:

相关推荐
fanruitian11 小时前
uniapp android开发 测试板本与发行版本
前端·javascript·uni-app
rayufo11 小时前
【工具】列出指定文件夹下所有的目录和文件
开发语言·前端·python
RANCE_atttackkk11 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
2501_9445255412 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
李白你好13 小时前
Burp Suite插件用于自动检测Web应用程序中的未授权访问漏洞
前端
刘一说14 小时前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js
徐同保15 小时前
React useRef 完全指南:在异步回调中访问最新的 props/state引言
前端·javascript·react.js
刘一说16 小时前
Vue 导航守卫未生效问题解析:为什么路由守卫不执行或逻辑失效?
前端·javascript·vue.js
一周七喜h16 小时前
在Vue3和TypeScripts中使用pinia
前端·javascript·vue.js
weixin_3954489116 小时前
main.c_cursor_0202
前端·网络·算法