首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用/启用QCheckBox文本

禁用/启用QCheckBox文本
EN

Stack Overflow用户
提问于 2013-04-24 19:03:47
回答 2查看 2.3K关注 0票数 0

我正在开发一个示例应用程序,其中我需要在复选框未选中时禁用复选框的文本,并在复选框被选中时启用它。

代码:

代码语言:javascript
复制
if(ui->checkBox->isChecked() == true)
{
   // Enable the text of the checkbox
}

else
{
   // Disable the text of the checkbox      
}

我看过各种文章,但都没有找到正确的解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-24 19:13:38

使用stylesheet

对于您的所有小部件:

代码语言:javascript
复制
ui->setStyleSheet(
"QCheckBox:checked {
     {color: black;}
 }
 QCheckBox:unchecked {
     {color: grey;}
 }"
)

编辑:

正如注释中所提到的,要使其与自定义主题一起工作,您可以将样式设置为查询palette

代码语言:javascript
复制
QPalette my_palette = ui->palette()
QColor my_active_color = my_palette.color(QPalette::Active, QPalette::Text);
QColor my_disabled_color = my_palette.color(QPalette::Disabled, QPalette::Text);

QString my_style =
 QString("QCheckBox:checked { {color: rgb(%1, %2, %3);} } "     
"QCheckBox:unchecked { {color: rgb(%4, %5, %6);}}")
.arg( my_active_color.red())
.arg( my_active_color.green())
.arg( my_active_color.blue() )
.arg( my_disabled_color.red())
.arg( my_disabled_color.green())
.arg( my_disabled_color.blue() );

ui->setStyleSheet(my_style);

请注意,我没有尝试过它,它可能有任何打字错误,但你明白我的意思。

票数 1
EN

Stack Overflow用户

发布于 2013-04-24 19:27:50

我找到解决方案了。这就是我是如何做到的:

代码语言:javascript
复制
ui->checkBox->setStyleSheet( "QCheckBox:checked{color: black;} QCheckBox:unchecked{color: grey;}");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16190317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档