首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QPushButton或QToolButton的颜色

QPushButton或QToolButton的颜色
EN

Stack Overflow用户
提问于 2011-10-14 03:24:26
回答 1查看 3.7K关注 0票数 1

我使用Qstylesheet来控制一些QPushButtons和QToolButtons的行为。当我将鼠标悬停在它们上面时,它们会变成黑色,正如我所希望的那样。然而,一旦我按下它们,它们就会变成有趣的灰红色,里面画着一个红色的盒子。

为了避免这种行为,我必须设置的属性或伪状态是什么?我已经看过了所有与选择和背景相关的属性,但我不能让它消失

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-15 02:27:41

如果看不到你的风格,解决你的问题就有点困难。因此,我要做的就是解释一些事情是如何工作的,希望你能决定如何最好地解决你的问题。

首先,当你设计你的按钮样式时,确保你覆盖了所有的基础,这一点很重要。我相信你知道大部分,但以防万一...

QPushButton和QToolButton具有许多可以设置样式的状态,因此您希望确保每个状态的按钮明显不同,以便用户能够区分不同之处。

代码语言:javascript
复制
QPushButton
{ 
   //  The default look of your button
}

QPushButton:disabled 
{ 
}

QPushButton:pressed  
{  
}

QPushButton:focus    
{
}

QPushButton:hover
{
}

QPushButton:checked
{
}

使用诸如背景颜色、前景颜色、边框颜色之类的东西,通常您就可以开始使用了。

代码语言:javascript
复制
background-color: red;
color: white;  // foreground color
border-width: 1px;
border-color: black;

第二件要知道的事情是,样式是可以继承的。因此,在向小部件添加样式时要非常小心。当你创建一个风格的时候,尽量做到具体。如果你在你的UI中给了这个样式,背景颜色将是蓝色的,但危险的是,这个小部件的所有子部件也将继承这个样式。

代码语言:javascript
复制
QWidget
{
    background-color: blue;
}

也许这就是你想要的,但通常不是。因此,如果你正在设计按钮样式,总是把QPushButton或QToolButton选择器放在它们周围,同样的方法也应该适用于你正在设计样式的其他东西。所以这可能就是你的灰红色的来源。

现在,关于样式按钮的最后一件事是焦点矩形。它是当你的按钮被聚焦时出现的恼人的虚线。请看下面的图片。

不幸的是,没有办法使用样式表设置焦点矩形的样式。但你可以摆脱它,如果那是你想要的。请参阅以下链接:

Getting rid of the focus rectangle

所以,总而言之...

  1. 确保您的按钮样式覆盖了所需的所有状态。请确保您的按钮不受添加到其他widgets.
  2. Either更改中的任何其他样式的影响,或者根据需要删除
  3. 矩形。

我希望这能有所帮助。如果你需要更具体的帮助,请发布你的风格,我会看看它。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7759375

复制
相关文章

相似问题

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