彻底查看已禁用的QGroupBox标题(参见附图)。
你会注意到标题字母下面有一个微小的白色1像素阴影。
在默认样式表中几乎不会引人注意,但如果设置深色背景和文本颜色,则会更加烦人。
如何禁用此阴影,或至少更改其颜色?
答案 0 :(得分:3)
你使用什么样的风格?它看起来像'基本'Windows风格。如果要删除文本阴影,可以实现自己的样式并更改为禁用的组框绘制文本的方式。详细了解QStyle
以及如何创建自定义样式here。该链接适用于Qt 5.1,但Qt 4的原理也是相同的。
更简单的方法是简单地更改QGroupBox
对象的调色板。将颜色组QPalette::Disabled
和颜色角色QPalette::Light
标识的颜色更改为Alpha通道设置为0的任何颜色,例如QColor(0, 0, 0, 0)
。这将有效地禁用文本阴影。但是,它也会禁用线条的阴影,因此它可能不是你想要的。
答案 1 :(得分:1)
我找到了解决方案:
不幸的是,您无法删除禁用的文本阴影(也就是蚀刻),但您可以使用脏的变通方法更改其颜色:
看起来阴影效果总是从ColorGroup“Disabled”和当前调色板的ColorRole“Light”中获取颜色。因此,您只需将此颜色设置为窗口小部件的背景颜色:
QPalette p = myWidget->palette();
p.setColor(QPalette::Disabled, QPalette::Light, QColor(0,0,0)); <- place your widget bg color here
myWidget->setPalette(p);