【问题标题】:how to change QCheckBox text label color in Qt?如何在 Qt 中更改 QCheckBox 文本标签颜色?
【发布时间】:2012-06-22 09:52:27
【问题描述】:

我无法在 QT 中更改Qcheckbox 的颜色,谁能帮我用代码更改复选框文本标签的颜色。 我已经尝试过Qpalette.. 我使用的是 QT4.7.4 版本..

【问题讨论】:

    标签: c++ qt checkbox qcheckbox


    【解决方案1】:

    你可以使用stylesheets

    例如:

    checkBox->setStyleSheet("QCheckBox { color: red }");
    

    更多详情请查看style sheets in Qt Referencestylesheets documentation

    【讨论】:

    • 样式表也不起作用...有其他方法吗?
    • 你的意思是说setStyleSheet(“Sheet”上的大写S)?
    • 那些链接失效了
    【解决方案2】:

    这对我有用:

    QPalette p = myCheckBox->palette();
    p.setColor(QPalette::Active, QPalette::WindowText, green);
    myCheckBox->setPalette(p);
    

    【讨论】:

      【解决方案3】:

      我在使用各种版本的 Qt5(5.2、5.4)时遇到了这个问题。要使用样式表,我必须使用 Pseudo-States 属性:http://doc.qt.io/qt-4.8/stylesheet-reference.html#list-of-pseudo-states

      例子:

      myCheckbox->setStyleSheet("QCheckBox:unchecked{ color: red; }QCheckBox:checked{ color: red; }");
      

      设置这两种状态改变了我的颜色。样式表和调色板系统中似乎有一些这样的奇怪之处,所以请留意它们并尝试一些不同的东西(即选择器、伪状态等)

      【讨论】:

        【解决方案4】:

        对于某些小部件,您必须强制使用非系统“小部件引擎”。对于复选框,可以通过将边框设置为无来完成。所以复选框的样式看起来像:

        QCheckBox {
           border: none;
           color: white;
        }
        

        其他小部件也需要类似的行为。某些样式属性不会禁用原生外观。例如 QPushButton (http://doc.qt.io/qt-4.8/stylesheet-reference.html)

        【讨论】:

          猜你喜欢
          • 2014-05-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-11
          相关资源
          最近更新 更多