在不改变所有 QWidget 元素背景的情况下无法设置 QMainWindow 的背景?

问题描述 投票:0回答:0

我将我的主 UI 定义为 QMainWindow,如下所示:

class Widget1(QMainWindow):
    def __init__(self, parent=None):
        super(Widget1, self).__init__(parent)
        variable_file.init()
        self.gui()

    def gui(self):
        self.w1 = self
        self.w1.setFixedSize(1080, 810)

然后我在主窗口的组框中也有 QWidgets。我想将 QMainWindow 设置为白色,并且组框和 QWidgets 都是一种颜色。我在使用之前格式化了qss。

在qss中,我试过:

QMainWindow {
    background-color :{{background}};
}

在 qss 中,组框和 qwidget 的样式使用:

 {
    background-color :{{widget_and_group}};
    font: 14px "Poppins";
    color : white ; 
}

这会导致所有背景都是 {widget_and_group} 颜色。

我也试过:

QWidget {
    background-color :{{background}};
    font: 14px "Poppins";
    color : white ; 
}

QStackedWidget {
    background-color :{{widget_and_group}};
    font: 14px "Poppins";
    color : white ; 
}

这部分工作我的背景有正确的颜色,但我有一个 QStackedWidget,它包含 QWidgets,它也是背景颜色,所以它对我不起作用。

我尝试过的最后一件事是像这样设置 QWidget #bk(我的背景名称/QMainWindow):

QWidget {
    background-color :{{widget_and_group}};
    font: 14px "Poppins";
    color : white ; 
}

QWidget #bk{
    background-color :{{background}};
    font: 14px "Poppins";
    color : white ; 
}

但这会导致每个 QWidget 都是相同的颜色,#bk 不是背景色。

我需要 QMainWindow 是一种颜色而 QWidgets 是另一种颜色。

感谢您的帮助。

qt pyqt pyqt5 qt5 qtstylesheets
© www.soinside.com 2019 - 2024. All rights reserved.