首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >QScrollArea清除背景色

QScrollArea清除背景色
EN

Stack Overflow用户
提问于 2014-09-30 20:38:18
回答 1查看 3K关注 0票数 2

在我的qss样式表中,我定义了背景颜色。

代码语言:javascript
运行
复制
#sw_MainMiddle {
    background: black;
}

一切都很好,但是当我将滚动QScrollArea放在sw_MainMiddle小部件中时,背景色就消失了。显然,没有机会直接为QScrollArea分配背景。以下代码不起任何作用:

代码语言:javascript
运行
复制
QScrollArea {
    background: black;
}

根据这个问题,我使用对象名称选择器将背景色重新分配到滚动区域,也没有效果:

代码语言:javascript
运行
复制
#myScrollArea {
    background: black;
}

我做错什么了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-02 19:06:10

我想我找到了解决办法:

代码语言:javascript
运行
复制
QAbstractScrollArea #scrollAreaWidgetContents {
    background-color: black;
}

其中,scrollAreaWidgetContents是滚动区域中的小部件:

来自QSS参考页

QAbstractScrollArea的所有派生类,包括QTextEdit和QAbstractItemView (所有项视图类),都支持使用背景附件的可滚动背景。将背景-附件设置为“固定”提供了不随视图滚动的背景图像。当滚动条移动时,将背景附件设置为滚动,滚动背景图像. 有关示例,请参见定制QAbstractScrollArea

因此,您不能自定义所有QAbstractScrollArea或所有QScrollAreas,只有包含它们的小部件(例如QTextEdit)。这就是为什么QScrollArea { background-color: black; }不能工作的原因。但是,如果您想要自定义包含滚动区的特定小部件,那么这个解决方案就足够了。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26129660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档