禁用/启用QCheckBox文本



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

代码:

if(ui->checkBox->isChecked() == true)
{
   // Enable the text of the checkbox
}
else
{
   // Disable the text of the checkbox      
}

我已经看了很多文章,但还没有找到正确的解决方法。

使用样式表

所有的小部件:

ui->setStyleSheet(
"QCheckBox:checked {
     {color: black;}
 }
 QCheckBox:unchecked {
     {color: grey;}
 }"
)
编辑:

正如在评论中提到的,要使它与自定义主题一起工作,您可以使样式查询调色板:

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);

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

我找到解决办法了。我是这样做到的:

ui->checkBox->setStyleSheet( "QCheckBox:checked{color: black;} QCheckBox:unchecked{color: grey;}");

相关内容

  • 没有找到相关文章

最新更新