pyqt5背景颜色,为小部件内的小部件着色

时间:2019-04-28 03:49:16

标签: python python-3.x pyqt5

我正在做一个桌面应用程序,其中使多个类从QWidget继承,而问题是当我尝试将颜色应用于每个背景时,它似乎不起作用。

我希望主应用程序具有黑色背景,而应用程序具有白色背景(其中包含其他小部件,但现在我只是弄清楚背景),但是却得到了一个全黑的窗口。


class Main(QMainWindow):

    def __init__(self):
        super().__init__()        

        self.main_widget = QWidget(self)
        self.setCentralWidget(self.main_widget)
        self.main_widget.setStyleSheet('background-color: black')

        self.LO = QVBoxLayout(self.main_widget)
        self.square1 = Square()
        self.square2 = Square()

        self.LO.addWidget(self.square1)
        self.LO.addWidget(self.square2)


class Square(QWidget):

    def __init__(self):
        super().__init__()
        self.setStyleSheet('background-color: #FFFFFF')


if __name__ == '__main__':
    app = QApplication(sys.argv)
    mainWin = Main()
    mainWin.show()
    sys.exit(app.exec_())

这是我期望发生的情况(背景为黑色,小部件为白色):

expected result

1 个答案:

答案 0 :(得分:0)

似乎从QWidget继承的类没有采用样式表,但是当您从QFrame继承时,它将自动按预期工作。我不知道为什么在QtDesigner中似乎可以将QWidgets用作框架。