我在 Windows 10 Pro 上使用 Qt Creator 4.13.1 和 Qt 5.15.1。
我是在 Qt 中使用样式表的新手,并且对可能考虑的选择器QSplitter
及其子项感到有些困惑。我想让 2 个孩子用分离器手柄分开,并用不同的颜色绘制他们的背景。
这是一个示例场景
QSplitter* splitter = new QSplitter();
QWidget* widgetA = new QWidget();
// add a layout with some further child widgets
QWidget* widgetB = new QWidget();
// add a layout with some further child widgets
splitter->addWidget(widgetA);
splitter->addWidget(widgetB);
layout()->addWidget(splitter);
我试过的地方:
widgetA->setStyleSheet("background-color: #ff0000;");
这适用于widgetA
(eg QLabels, QPushButtons, ...) 的所有子小部件,但不适用于它们周围的widgetA
本身splitter->setStyleSheet("background-color: #ff0000;");
适用于widgetA
,widgetB
和句柄以及下面的所有小widgetA
部件widgetB
- 命名
widgetA->setObjectName("Tim");
,splitter->setStyleSheet("QWidget#Tim {background-color: #ff0000;}");
这根本没有影响。 - [编辑]
splitter->setStyleSheet("QSplitter QWidget #Andy {background-color: #ff0000;}");
仅将背景应用于任一子小部件内的某个小部件。但是使用splitter->setStyleSheet("QSplitter #Tim {background-color: #ff0000;}");
(再次)完全没有效果。
我将如何单独设置background-color
of widgetA
,因此不影响子级widgetA
或其他拆分器子级widgetB
?