我如何在PySide2(Python的官方Qt)中正确使用CSS

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

我的代码成功显示'Hello World!',但是未应用CSS样式。我不知道该怎么做。如果有人对此主题有很好的解释,将不胜感激。

The output of my code

from PySide2.QtWidgets import QApplication, QLabel, QWidget

app = QApplication([])

window = QWidget()
window.setStyleSheet('''
    p {
        font-size: 100px;
    }
''')

label = QLabel('<p>Hello World!</p>', parent=window)

window.show()
app.exec_()
python pyqt5 qtstylesheets
1个回答
0
投票

首先,有一个不同的Qt StyleSheet适用于所有小部件以及某些小部件支持的html。

Qt StyleSheets是将样式和一些属性设置为QWidget的简单方法,它基于CSS 2.1但适用于Qt。

相反,有些小部件支持诸如html之类的富文本,这就是QLabel的情况,在这种情况下,样式必须内联放置

考虑到几种解决方案:

from PySide2.QtWidgets import QApplication, QLabel, QWidget

app = QApplication([])

label = QLabel('<p style="font-size: 100px">Hello World!</p>', parent=window)

window.show()
app.exec_()
from PySide2.QtWidgets import QApplication, QLabel, QWidget

app = QApplication([])

window = QWidget()
window.setStyleSheet('''
    QLabel {
        font-size: 100px;
    }
''')

label = QLabel('<p>Hello World!</p>', parent=window)

window.show()
app.exec_()
from PySide2.QtWidgets import QApplication, QLabel, QWidget

app = QApplication([])

window = QWidget()

label = QLabel('<p style="font-size: 100px">Hello World!</p>', parent=window)
font = label.font()
font.setPointSize(100)
label.setFont(font)

window.show()
app.exec_()
© www.soinside.com 2019 - 2024. All rights reserved.