将自定义颜色的按钮设置为禁用的样式

塔利亚

我有一个继承的类QWidget在某些情况下,我希望将其设置为禁用。

小部件具有一些颜色按钮,这些颜色按钮是从颜色列表中设置的:

void MyWidget::colorUpdate(QString color)
{
    if(!color.isEmpty())
    {
        QString foreground = (QColor(color).lightness() < 125 ? "white" : "black");
        m_colorButton->setStyleSheet("color: " + foreground + "; background-color: " + color);
    }
}

调用myWidget.setEnabled(enabledOption);将禁用小部件,使所有文本以及该小部件中的所有其他项目变灰(除了这些颜色按钮之外)。

因此,我正在考虑采取自己的行动:

void MyWidget::setWidgetEnabled(bool enabled)
{
    this->setEnabled(enabled);
    // what else ?
}

如何使我的按钮-背景颜色和文字颜色不知道,但是按钮确实如此-具有“禁用外观”?

(注意-颜色更新也适用于禁用的项目-但这并没有真正复杂-我在设置禁用的小部件上应用的任何样式表都可以在该colorUpdate函数中应用)。

我只是不知道如何应用带有该灰色阴影的样式表-甚至在样式表中甚至可能具有“禁用”选项... ...“禁用”中的
颜色看起来是什么样的?

Ymoreau

为禁用状态设置自己的样式您可以在样式表中为禁用状态设置特殊样式:

m_colorButton->setStyleSheet(":enabled { color: " + foreground 
                             + "; background-color: " + color 
                             + " } :disabled { color: " + disabledForeground 
                             + "; background-color: " + disabledColor + " }");

编辑:更改了窗口小部件的代码,而不是全局样式表。


保留默认的禁用样式您可以仅针对启用状态设置自定义样式,然后在禁用小部件时,样式不适用:

m_colorButton->setStyleSheet(":enabled { color: " + foreground 
                             + "; background-color: " + color + "}");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将自定义颜色设置为WindowBackground

来自分类Dev

如何将自定义样式设置为antd Select?

来自分类Dev

我无法在reactjs中将自定义样式设置为antd Date Picker

来自分类Dev

如何将自定义样式设置为Anted Rate Component

来自分类Dev

设置自定义按钮的样式

来自分类Dev

将自定义样式的按钮添加到CKEditor

来自分类Dev

如何在altair中将自定义颜色主题设置为默认值?

来自分类Dev

如何在对话框中将自定义颜色设置为getWindows

来自分类Dev

如何在代码后面将自定义背景设置为ListView项目颜色?

来自分类Dev

将自定义按钮设置为单元小部件会消耗大量时间

来自分类Dev

将自定义命令设置为以编程方式创建的按钮

来自分类Dev

为自定义控件设置样式

来自分类Dev

为自定义控件设置样式

来自分类Dev

在OpenCv中将自定义模型设置为CvSVM

来自分类Dev

将自定义 ActionBar 重力设置为 RIGHT

来自分类Dev

创建一个自定义按钮并将其设置为默认样式

来自分类常见问题

如何设置自定义ActionBar的颜色/样式?

来自分类Dev

如何将自定义标记设置为自定义视图?

来自分类Dev

自定义UITextField清除按钮颜色为白色

来自分类Dev

将自定义样式应用于页面上的所有按钮

来自分类Dev

为自定义UIButton设置禁用状态

来自分类Dev

为 HTML 颜色输入设置自定义图标

来自分类Dev

设置自定义样式后默认样式丢失(例如颜色)

来自分类Dev

使用自定义按钮样式更改按钮内容的前景色或笔触颜色

来自分类Dev

自定义样式的颜色套件

来自分类Dev

将自定义单选按钮和标签对齐为列

来自分类Dev

将自定义对象的每个属性类型设置为not_analyzed

来自分类Dev

Fabric.js:如何将自定义大小设置为Text或IText?

来自分类Dev

如何在Rails中将自定义环境设置为默认环境?

Related 相关文章

  1. 1

    如何将自定义颜色设置为WindowBackground

  2. 2

    如何将自定义样式设置为antd Select?

  3. 3

    我无法在reactjs中将自定义样式设置为antd Date Picker

  4. 4

    如何将自定义样式设置为Anted Rate Component

  5. 5

    设置自定义按钮的样式

  6. 6

    将自定义样式的按钮添加到CKEditor

  7. 7

    如何在altair中将自定义颜色主题设置为默认值?

  8. 8

    如何在对话框中将自定义颜色设置为getWindows

  9. 9

    如何在代码后面将自定义背景设置为ListView项目颜色?

  10. 10

    将自定义按钮设置为单元小部件会消耗大量时间

  11. 11

    将自定义命令设置为以编程方式创建的按钮

  12. 12

    为自定义控件设置样式

  13. 13

    为自定义控件设置样式

  14. 14

    在OpenCv中将自定义模型设置为CvSVM

  15. 15

    将自定义 ActionBar 重力设置为 RIGHT

  16. 16

    创建一个自定义按钮并将其设置为默认样式

  17. 17

    如何设置自定义ActionBar的颜色/样式?

  18. 18

    如何将自定义标记设置为自定义视图?

  19. 19

    自定义UITextField清除按钮颜色为白色

  20. 20

    将自定义样式应用于页面上的所有按钮

  21. 21

    为自定义UIButton设置禁用状态

  22. 22

    为 HTML 颜色输入设置自定义图标

  23. 23

    设置自定义样式后默认样式丢失(例如颜色)

  24. 24

    使用自定义按钮样式更改按钮内容的前景色或笔触颜色

  25. 25

    自定义样式的颜色套件

  26. 26

    将自定义单选按钮和标签对齐为列

  27. 27

    将自定义对象的每个属性类型设置为not_analyzed

  28. 28

    Fabric.js:如何将自定义大小设置为Text或IText?

  29. 29

    如何在Rails中将自定义环境设置为默认环境?

热门标签

归档