如何维护 Qt 组框中每个项目的默认背景颜色?
How to maintain default background color of each items inside Qt group box?
当我更改 Qt 组框的背景颜色时,组合框的背景颜色也会更改。在组框内。我想要组合框的默认颜色,所以这就是为什么我不更改组合框的背景颜色。请告诉我如何在不更改内部项目的默认 bg-color 的情况下更改 Qt 组框的背景颜色。我在qt designer(ui)中使用样式sheet更改了QT组框的背景。我是初学者,请帮助。
您应该按照以下步骤操作:
- 为您的对象设置特定名称:
- select 父对象并像这样向父对象添加样式表:
这是样式表:
QGroupBox#gBox1
{
背景色:rgb(138, 226, 52);
}
首先,您应该像 QGroupBox
一样设置您想要的 class 类型,对于设置样式,您将其命名为 对象名称 在#
.
之后
- 输出:
带有样式的简单项目
#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}");
当我更改 Qt 组框的背景颜色时,组合框的背景颜色也会更改。在组框内。我想要组合框的默认颜色,所以这就是为什么我不更改组合框的背景颜色。请告诉我如何在不更改内部项目的默认 bg-color 的情况下更改 Qt 组框的背景颜色。我在qt designer(ui)中使用样式sheet更改了QT组框的背景。我是初学者,请帮助。
您应该按照以下步骤操作:
- 为您的对象设置特定名称:
- select 父对象并像这样向父对象添加样式表:
这是样式表:
QGroupBox#gBox1 { 背景色:rgb(138, 226, 52); }
首先,您应该像 QGroupBox
一样设置您想要的 class 类型,对于设置样式,您将其命名为 对象名称 在#
.
- 输出:
带有样式的简单项目
#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}");