PyQt5 - QLabel 填充不能按预期工作

PyQt5 - QLabel padding not work as expected

填充属性未按预期工作。

这是我的代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QLabel

class Window(QWidget):
    def __init__(self):
        super().__init__()

        self.setFixedSize(450, 450)

        tracking_description = QLabel()
        tracking_description.setStyleSheet('''
                border: 2px solid;
                border-radius: 8px;
                padding-top: 0px;
                padding-bottom: 0px;
                padding-right: 10px;
                padding-left: 10px;
                ''')
        tracking_description.setText("Consente di scegliere una \
                delle camere installate sul territorio e impostarla \
                in <b>modalità tracciante</b>.<br />Durante questa fase \
                il sistema osserverà i veicoli che transitano nella scena \
                e <b>definirà in maniera automatica delle aree di \
                parcheggio</b>.<br />\Propedeuticamente, sarà possibile \
                definire le scene di osservazione che una specifica camerà \
                dovrà gestire.")
        tracking_description.setWordWrap(True)
        tracking_description.setFixedWidth(408)

        vbox = QVBoxLayout()
        vbox.addStretch(1)
        vbox.addWidget(tracking_description)
        vbox.addStretch(1)

        hbox = QHBoxLayout()
        hbox.addStretch(1)
        hbox.addLayout(vbox)
        hbox.addStretch(1)

        self.setLayout(hbox)

if __name__ == "__main__":
    app = QApplication(["TODO"])
    win = Window()
    win.show()
    sys.exit(app.exec_())

如果我将tracking_description QLabel的padding-rightpadding-left保留为10px,这是输出(也有意外的顶部和底部填充):

如果我将 padding-rightpadding-left 设置为 30px,这是输出(预期顶部和底部填充为 0px):

为什么会出现这种行为?

如果在 QLabel 上设置 marginpadding 则必须将 indent 设置为零。因为如果缩进的值属性等于-1或者没有设置,Qt会额外添加space(取决于对齐方式)

QLabel 
{
    qproperty-indent:0; /* without px or whatever*/
}