QSS 设置bug
问题描述:
在QWidget上add 一个QLabel,但是死活不生效
原因:
c++ 主程序如下:
QWidget* LOGO = new QWidget(logo_wnd);
LOGO->setFixedSize(logo_width, 41);
LOGO->setObjectName("TittltLogo");
QVBoxLayout* title_layout = new QVBoxLayout(LOGO);
title_layout->setMargin(0);
title_layout->setContentsMargins(QMargins(0, 0, 0, 0));
title_layout->setSpacing(0);
LOGO->setLayout(title_layout);
QLabel* titleLabel = new QLabel(LOGO);
titleLabel->setObjectName("TitleLogoLabel"); titleLabel->setAlignment(Qt::AlignCenter);
titleLabel->setText(LanguageReader::GetInstance().GetLanguageText(MAIN_FORM, "SystemTitle"));
titleLabel->adjustSize();
title_layout->addWidget(titleLabel);
qss如下:QWidget 的qss设置在QLabel 的前边
QWidget#TittltLogo
{
background-color: transparent;
border: none;
//background-image: url(./Source/TittleText.png);
}
QLabel#TitleLogoLabel
{
background-color: transparent;
font-family: 'Microsoft YaHei';font-size: 20px; font-style: normal; font-weight: 600; color:#DCDCDC;
border: none;
}
qss: 需要将 位置互换
QLabel#TitleLogoLabel
{
background-color: transparent;
font-family: 'Microsoft YaHei';font-size: 20px; font-style: normal; font-weight: 600; color:#DCDCDC;
border: none;
}
QWidget#TittltLogo
{
background-color: transparent;
border: none;
//background-image: url(./Source/TittleText.png);
}
不太明白....................有缘人解答下为什么?
问题补充:2024.11.15
如果按上述修改,还是会有问题,会影响原来的其它控件的qss设置,如下图所示:
将QWidget的qss注释即可:正常的应该是
问题解决了,真相大白: