python - 如何在 PySide2 中正确使用 CSS

标签 python pyqt5 qtstylesheets

我的代码成功显示“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_()

最佳答案

首先,有一个不同的Qt StyleSheet适用于所有的widgets和一些widgets支持的html。

Qt StyleSheets 是一种为 QWidgets 设置样式和一些属性的简单方法,它基于 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_()

关于python - 如何在 PySide2 中正确使用 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62403480/

相关文章:

qt - Qt 的样式表性能命中

python - 在其他函数中使用 Split 参数

python - PyQt Tableview 背景颜色基于数值?

c++ - QTreeView 的 Qt 样式表

c++ - 如何使用 HTML 格式和可点击的单元格制作快速的 QTableView?

python - 无法使用 QWebEnginePage::runJavaScript() 更改背景图像

python - 在 Base64.encode64 输出中加号?

python - Django 新手很难使用模型和可重用的业务逻辑

php - 如何使用shell命令在php中执行python脚本?

python - pylint 找不到 QWidget 和 QApplication