当我改变 Qt 组合框的背景颜色时,组合框的背景颜色也随之改变。这是在组框内。我想要组合框的默认颜色,所以这就是我不更改组合框的背景颜色的原因。请告诉我如何在不更改内部项目的默认 bg-color 的情况下更改 Qt 组框的背景颜色。我使用 qt 设计器 (ui) 中的样式表更改了 QT 组框的背景。我是初学者请帮助。
问问题
127 次
2 回答
0
带有样式的简单项目
#include <QtCore>
#include <QtGui>
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGroupBox GroupBox;
GroupBox.setMinimumSize(QSize(400, 400));
GroupBox.setStyleSheet("QGroupBox {background-color: green}");
QComboBox Combo1, Combo2;
Combo1.setStyleSheet("QComboBox {background-color: yellow}");
Combo2.setStyleSheet("QComboBox {background-color: red}");
Combo1.addItem("Test1");
Combo1.addItem("Test2");
Combo2.addItem("Test3");
Combo2.addItem("Test4");
QVBoxLayout vbox;
vbox.addWidget(&Combo1);
vbox.addWidget(&Combo2);
GroupBox.setLayout(&vbox);
GroupBox.show();
return a.exec();
}
您也可以更改对象名称“setObjectName(const QString &)”函数,然后使用该名称设置不同对象的样式
Combo1.setObjectName("TestObject");
Combo1.setStyleSheet("QComboBox#TestObject {background-color: yellow}");
于 2021-11-02T07:58:39.257 回答