python - 如何在 PySide2 中正确使用 CSS
问题描述
我的代码成功显示“Hello World!”,但未应用 CSS 样式。我不知道如何正确地做到这一点。如果有人对此主题有一些很好的解释,将不胜感激。
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 适用于所有小部件和一些小部件支持的 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_()
推荐阅读
- html - 在我的 Angular 表单中,我使用 F2 添加了 keycode 事件。为什么它在某些情况下不起作用?
- kubernetes - 在 GKE 中创建时处于 NotReady 状态的 Kubernetes 节点
- php - 如何使用 Amazon SES 在 PHP 中发送电子邮件
- java - kura 安装 kura-greenhouse-demo 部署包失败
- regex - 如何解决 reactJs 项目的 SonarQube 报告问题在正则表达式中显示错误
- redis - 如何在花 ui 中添加芹菜工人以进行气流?
- python - 未显示 drf django 的字段
- installshield - 已发布安装程序错误地具有更高版本,例如 1.6 当前安装程序项目具有 1.1 版本 需要将 1.5 升级到 1.1
- microsoft-teams - 无法重新创建已删除的频道
- git - 为什么在 gitlab/git merge-request/merge 期间我得到一个分离的 HEAD?