【发布时间】:2016-04-08 05:51:05
【问题描述】:
如何获取 QPushButton 的按下背景颜色?
if (isDown())
_BGColor = <pressed background color>; // how to get this???
else
_BGColor = palette().color(QPalette::Background); // this is to get the idle backcolor
提前致谢!!!
【问题讨论】:
-
欢迎来到 Stackoverflow。你能解释一下你想做什么吗?似乎获得这种颜色不是一个好主意。我们可以找到更好的解决您最初问题的方法吗?
-
我有一个 QPushButton 子类,当长按按钮时,我想用背景的反色画一个圆圈,然后在它里面是一个带有背景颜色的复选符号。我的另一个选择是擦除圆圈的某些部分(使该部分透明)以创建复选标记。
-
我想要做的是在我的按钮上有一个覆盖圆圈,中间有一个检查形状的整体。它用于按钮的选中属性,例如有一个复选框,但我想将其呈现为绘图。
-
你是不是在子类的PaintEvent中写了上面的代码,试着在PaintEvent中写,然后在mousePressEvent中调用Update函数。这应该为您提供背景颜色的当前值。
-
我尝试在
setDown(true)上方使用update()和/或repaint(),但它没有获得背景颜色的当前值。