2

仔细查看禁用的 QGroupBox 标题(见附图)。

禁用 QGroupBox

您会注意到标题字母下方有一个 1 像素的微小白色阴影。

在默认样式表上几乎看不到它,但如果您设置深色背景和文本颜色,它可能会更烦人。

我能做些什么来禁用这个阴影,或者至少改变它的颜色?

4

2 回答 2

3

你用的是什么风格?它看起来像“基本”Windows 风格。如果您想摆脱文本阴影,您可以实现自己的样式并更改为禁用的组框绘制文本的方式。在此处阅读有关QStyle以及如何创建自定义样式的更多信息。该链接适用于 Qt 5.1,但原理与 Qt 4 相同。

一种更简单的方法是简单地更改QGroupBox对象的调色板。QPalette::Disabled将由颜色组和颜色角色标识的颜色更改为QPalette::Lightalpha 通道设置为 0 的任何颜色,例如QColor(0, 0, 0, 0). 这将有效地禁用文本阴影。但是,它也会禁用线条的阴影,因此它可能不是您想要的。

于 2013-07-24T19:47:51.943 回答
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);

我在这里找到了这个解决方案

于 2013-07-24T19:47:43.547 回答