我在使QScrollArea的内容不绘制背景时遇到问题。

所以这是当我不应用样式表时的初始图片:

您会看到,滚动区域的内容比整个框架的内容更暗。

我找到了可以应用于滚动区域的样式表,因此背景是透明的。这是我使用的样式表:

QScrollArea { background: transparent; }
QScrollArea > QWidget > QWidget { background: transparent; }

问题是当我这样做时,scrollarea的滚动条变得困惑了:

你看?现在,滚动条始终可见,并且丑陋且透明。

如何在不将样式表应用于QScrollArea的同时使样式表不影响滚动条?还是应该改用什么不同的样式表?

最佳答案

尝试为滚动区域视口(viewport)设置对象名称:

pScrollArea->viewport()->setObjectName("myViewport");

然后使用样式表中的hashtag属性解决该问题(也要添加分组框,因为我在屏幕截图中看到的方式也是如此,您的目标是也使它们透明):
QScrollArea, #myViewport, QGroupBox {
  background: transparent;
}

关于c++ - Mac OS X上的QScrollArea透明背景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25795112/

10-13 22:55