Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt项目的多种样式(QLabel、QPushbutton等) 我正在用QtCreator3.6.1设计一个UI 我正在使用Qt设计器表单 我有一个QWidget,它包含20个Qlabel 我希望其中10个QLabel具有红色背景色 另外10个有一个蓝色的背景色 我想为此使用css_Css_Qt_Qt Designer_Qlabel - Fatal编程技术网

Qt项目的多种样式(QLabel、QPushbutton等) 我正在用QtCreator3.6.1设计一个UI 我正在使用Qt设计器表单 我有一个QWidget,它包含20个Qlabel 我希望其中10个QLabel具有红色背景色 另外10个有一个蓝色的背景色 我想为此使用css

Qt项目的多种样式(QLabel、QPushbutton等) 我正在用QtCreator3.6.1设计一个UI 我正在使用Qt设计器表单 我有一个QWidget,它包含20个Qlabel 我希望其中10个QLabel具有红色背景色 另外10个有一个蓝色的背景色 我想为此使用css,css,qt,qt-designer,qlabel,Css,Qt,Qt Designer,Qlabel,我发现您可以在父窗口小部件css中设置所有QLabel的样式,这将设置所有标签的样式 QLabel { background-color: red } 然而,在我的例子中,我想要两类样式。 有没有办法不单独设置其余10个蓝色标签的样式 我知道我可以按名称为元素设置样式,但这是一项巨大的工作 如果要使用CSS类,必须为QLabel设置类名: QLabel* redLabel = new QLabel("red label"); QLabel* blueLabel = new QLabel

我发现您可以在父窗口小部件css中设置所有QLabel的样式,这将设置所有标签的样式

QLabel
{
    background-color: red
}
然而,在我的例子中,我想要两类样式。 有没有办法不单独设置其余10个蓝色标签的样式


我知道我可以按名称为元素设置样式,但这是一项巨大的工作

如果要使用CSS类,必须为QLabel设置类名:

QLabel* redLabel = new QLabel("red label");
QLabel* blueLabel = new QLabel("blue label");

redLabel->setProperty("class","my-1st-class");
blueLabel->setProperty("class","my-2nd-class");
然后在CSS文件中使用类名:

.my-1st-class{
     background-color: red;
}

.my-2nd-class{
     background-color: blue;
}

为什么不改变标签的调色板呢?在标签上调用
setAutoFillBackground(true)
,并使用
qpalete::Window
角色集设置调色板。一个调色板用于红色,另一个调色板用于蓝色。