首页 > 解决方案 > pyqt:为什么加载的 qss 文件不起作用

问题描述

我正在我的项目中加载 qss 文件。而且我发现它不起作用。

我的 qss 文件是:

QMainWindow
{
    font-size: 20px;
    background: rgb(255, 0, 0);
}

我的代码是:

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

import sys

class Win(QMainWindow):

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

        with open('style.qss', 'r', encoding='utf-8') as file:
            str = file.read()
        self.setStyleSheet(str)

        self.__widget = QWidget()
        self.setCentralWidget(self.__widget)

if __name__ == '__main__':

    app = QApplication(sys.argv)
    win = Win()
    win.show()
    app.exec_()

但是,显示窗口的背景颜色不是红色。

- - - - - - - - - - 更新 - - - - - - - - - - - - - - - ---------

根据@musicamante 的建议,我尝试在QMainWindow 中添加一个覆盖的QWidget。但是,它仍然不起作用。

标签: pyqtqtstylesheets

解决方案


尝试这个:

样式.qss

font-size: 20px;
background: rgb(255, 0, 0);

或像这样:

样式.qss

QMainWindow {
    font-size: 20px;
    background: rgb(255, 0, 0);
} 

推荐阅读