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

实现一个题目图例例表:

相关推荐
fqbqrr13 小时前
2601C++,模块导出分类
前端·c++
倚栏听风雨13 小时前
vscode 运用 ts 代码需要准备什么
前端
韩曙亮13 小时前
【Web APIs】浏览器本地存储 ① ( window.sessionStorage 本地存储 | window.localStorage 本地存储 )
服务器·前端·javascript·本地存储·localstorage·sessionstorage·web apis
吃杠碰小鸡13 小时前
前端Mac快速搭建开发环境
前端·macos
前端大波13 小时前
使用webpack-bundle-analyzer 对 react 老项目进行打包优化
前端·react.js·webpack·性能优化
前端 贾公子14 小时前
(catalog协议) == pnpm (5)
前端·javascript·react.js
JarvanMo14 小时前
深度解析:如何彻底终结 Flutter 异步操作中的 BuildContext 崩溃?
前端
wxr061614 小时前
部署Spring Boot项目+mysql并允许前端本地访问
前端·spring boot·mysql·持续部署
假装我不帅14 小时前
jquery-validation使用
前端·javascript·jquery
怕浪猫14 小时前
React从入门到出门第六章 事件代理机制与原生事件协同
前端·javascript·react.js