设置PyQt5 QWidget的背景颜色

时间:2017-09-01 20:59:51

标签: python pyqt5 qwidget

我花了一些时间努力使用.setStyleSheet来改变用作窗口的QWidget的背景颜色,使用Python 3.5.2,PyQt 5.9和Qt 5.9.1。我尝试了我在网上找到的各种建议,但最终工作的是改变QWidget的对象名称,并在样式表中引用这样的名称作为id。

我的问题是,我可以依赖这种行为,还是有其他方法可以做到这一点?

工作代码:

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import (QWidget, QLabel, QApplication)

class BgColorExperiment(QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        QLabel('some words 一些单词', self).move(20, 0)

        self.setObjectName('MainWidget')
        self.setStyleSheet("""
            #MainWidget {
                background-color: #333;
            }
            .QLabel {
                color: #fff;
            }
        """)

        self.setGeometry(300, 300, 350, 100)
        self.setWindowTitle('QWidget Bg Color Experiment')
        self.show()

if __name__ == '__main__':
    APP = QApplication(sys.argv)
    EXP = BgColorExperiment()
    sys.exit(APP.exec_())

0 个答案:

没有答案