Qt Stylesheet 影响整个小部件
Posted
技术标签:
【中文标题】Qt Stylesheet 影响整个小部件【英文标题】:Qt Stylesheet affects whole widgets 【发布时间】:2016-05-31 09:28:15 【问题描述】:我有一个关于 Qt 样式表的问题,我在 Windows 上使用 Qt 5.6。(这在 Qt 5.5.1 中不存在)我使用这个代码片段,这是 QDialog 中的一个 QLabel。
ui.newGroupNameLabel->setStyleSheet("QLabel color : black; ");
我还尝试使用 QObject::setObjectName() 为其命名,并使用 ID 选择器来引用它。但它仍然会发生。
它会影响整个项目。我的意思是影响其他小部件。所有扩展符号都变为加号。此 QLabel 与此小部件无关(如下)。 有人遇到过这个问题吗?
提前致谢。
【问题讨论】:
你能完整展示你的代码吗? newGroupNameLabel 是什么组件?真的是 QLabel 吗?不是 QGroupBox? 只是一个Widget布局里面的QLabel,horizontalLayout_14 = new QHBoxLayout(); HorizontalLayout_14->setObjectName(QStringLiteral("horizontalLayout_14")); newGroupNameLabel = 新 QLabel(verticalLayoutWidget); newGroupNameLabel->setObjectName(QStringLiteral("newGroupNameLabel")); 那么verticalLayoutWidget呢?你为它设置样式表吗? 你可以试试这个语法:ui.newGroupNameLabel->setStyleSheet("color: black; <...> ")
.
不,UI 是由 Designer 创建的
【参考方案1】:
此问题已在几天后发布的 Qt 5.6.1 中得到解决。
https://bugreports.qt.io/browse/QTBUG-52230
【讨论】:
以上是关于Qt Stylesheet 影响整个小部件的主要内容,如果未能解决你的问题,请参考以下文章
在 Qt Stacked Widget 的特定小部件中更改背景颜色