如何使用 setStyleSheet 更改 QLabel 小部件的字体大小(百分比)? [复制]

Posted

技术标签:

【中文标题】如何使用 setStyleSheet 更改 QLabel 小部件的字体大小(百分比)? [复制]【英文标题】:How to change font size (in percent) of QLabel widget using setStyleSheet? [duplicate] 【发布时间】:2020-01-06 21:39:55 【问题描述】:

我正在寻找一种简单的方法来为我的 PySide2 应用程序中的标题标签制作更大的文本大小。这是一个学习项目。我更喜欢使用样式表来更改标签字体。我也不希望使用硬编码的磅值,因为这在不同的显示尺寸上可能效果不佳。

这个另一个question 看起来很有趣,但现在对我来说太复杂了。有没有一种简单的方法可以制作更大的字体,比如font-size: 200%?我确实尝试过,但到目前为止它不起作用。

当我使用 % 时,字体大小根本不会改变。当我设置特定大小(例如font-size: 20px)时,它会产生预期的结果。

我没有发现 Qt 文档有多大帮助(可能是因为我还不知道如何解决它们。)这是我的代码:

from PySide2 import QtWidgets
from PySide2.QtCore import Qt

class MyWidget(QtWidgets.QWidget):

    def __init__(self, parent=None):

        super(MyWidget, self).__init__(parent)
        mainLayout = QtWidgets.QVBoxLayout(self)
        self.label = QtWidgets.QLabel("My Title")
        self.label.setAlignment(Qt.AlignCenter | Qt.AlignHCenter)
        self.label.setStyleSheet("font-weight: bold; font-size: 200%")
        mainLayout.addWidget(self.label)

【问题讨论】:

这能回答你的问题吗? Relative font sizes in QT or the most portable way to define them @Laif 谢谢,但这似乎没有回答我的问题,因为它已有 10 多年的历史并适用于不同的 Qt 版本。我希望从那以后发生了很多变化。 你会很惊讶的 @Laif - 是的,这很可悲。对不起,我怀疑你了。 【参考方案1】:

如the docs 所述,Qt 不支持使用百分比作为字体大小:

字体大小。在这个版本的 Qt 中,只有 pt 和 px 指标是 支持。

(强调我的)

【讨论】:

以上是关于如何使用 setStyleSheet 更改 QLabel 小部件的字体大小(百分比)? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在不更改标准滑块形状的情况下为 Qslider 手柄重新着色?

qla2xxx - SNS 扫描失败

如何通过 setStyleSheet() 添加样式而不丢失 Qt 中的原始样式?

悬停时如何更改QTreewidget标题背景

修改QWidget 背景色

Python PyQt5:如果 QLineEdit 为空,如何更改 QLabel 的颜色?