如何使用 QSS 为禁用的按钮设置不同的背景颜色?

Posted

技术标签:

【中文标题】如何使用 QSS 为禁用的按钮设置不同的背景颜色?【英文标题】:How to set a different background-color to a disabled button with QSS? 【发布时间】:2014-09-28 03:54:09 【问题描述】:

我已经尝试使用disabled!enabled,但它不起作用。 这是我的 QSS 代码:

QPushButton 
    background-color:#44c767;
    border-radius:5px;
    border:1px solid #18ab29;
    color:#ffffff;
    font-family:arial;
    font-size:15px;
    font-weight:bold;
    text-decoration:none;
    padding-right:10px;
    outline: 0;


QPushButton:hover:!pressed 
    background-color:#54d777;


QPushButton: pressed 
    background-color:#30b252;


QPushButton: disabled 
    background-color:#ff0000;


QPushButton: !enabled 
    background-color:#ff0000;

该文档引用了 disabled 伪状态,但没有提供有关它的更多信息。

编辑

我正在使用 QT5.3

【问题讨论】:

【参考方案1】:

删除冒号后的所有空格(真的是全部 - 因为它会使进一步的 css 文本无效)并且它将起作用:

QPushButton:disabled 
background-color:#ff0000;

实际上,disabled!enabled 都有效。

【讨论】:

非常感谢!这太愚蠢了!最糟糕的是样式表编辑器底部的小帮助框告诉我QSS代码是有效的......

以上是关于如何使用 QSS 为禁用的按钮设置不同的背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章

Qt之使用QSS设置QPushButton图标和文本的位置

Qt之使用QSS设置QPushButton图标和文本的位置

按钮背景颜色动画禁用触摸(IOS)

如何使用 AppCompat 设置按钮的禁用颜色?

QSS 不同风格的按钮

QSS 不同风格的按钮