gpt4 book ai didi

qt - QPushButton 或 QToolButton 的颜色

转载 作者:行者123 更新时间:2023-12-02 17:51:15 26 4
gpt4 key购买 nike

我正在使用 Qstylesheet 来控制一些 QPushButtons 和 QToolButtons 的行为。当我将鼠标悬停在它们上方时,它们会像我希望的那样变黑。然而,一旦我按下它们,它们就会变成一种有趣的灰红色,并且在它们内部绘制了一个红色框。

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

最佳答案

在没有看到您的风格的情况下,解决您的问题有点困难。所以我要做的是稍微解释一下事情是如何运作的,希望你能决定如何最好地解决你的问题。

首先,在设计按钮样式时确保涵盖所有基础非常重要。我相信你知道大部分内容,但以防万一......

QPushButton 和 QToolButton 有许多可以设置样式的状态,因此您要确保让按钮在每个状态下都明显不同,以便用户可以区分。

QPushButton
{
// The default look of your button
}

QPushButton:disabled
{
}

QPushButton:pressed
{
}

QPushButton:focus
{
}

QPushButton:hover
{
}

QPushButton:checked
{
}

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

background-color: red;
color: white; // foreground color
border-width: 1px;
border-color: black;

第二个要知道的是,样式是可以继承的。因此,在向小部件添加样式时要非常小心。当您创建样式时,请尝试具体。如果您将此样式赋予您的 UI 中的某些东西,背景颜色将为蓝色,但危险的是,该样式的所有子部件也将继承此样式。

QWidget
{
background-color: blue;
}

也许这就是您想要的,但通常不是。因此,如果您对按钮进行样式设置,则始终将 QPushButton 或 QToolButton 选择器放在它们周围,这同样适用于您正在设置样式的其他内容。所以这可能就是你的灰红色的来源。

现在,关于样式按钮的最后一件事是焦点矩形。这是当您的按钮被聚焦时出现的恼人的虚线。请参见下图。

Focus rectangle

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

Getting rid of the focus rectangle

所以,总而言之......

  1. 确保您的按钮样式涵盖了您设计的所有状态需要。
  2. 确保您的按钮不受任何其他按钮的影响 您添加到其他小部件的样式。
  3. 要么改变,要么摆脱 根据需要调整焦点矩形。

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

关于qt - QPushButton 或 QToolButton 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7759375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com