【问题标题】:Auto adjust size of QLabel according to text it contains根据包含的文本自动调整 QLabel 的大小
【发布时间】:2020-02-11 01:06:25
【问题描述】:

我有一个 QLabel,我想调整它的大小,根据它包含的文本(加上一些边距)。我试过这个:

self.WarnLab = QtGui.QLabel(self.HeaderRight)
font = QtGui.QFont()
font.setFamily(_fromUtf8("Avenir"))
font.setPointSize(18)
font.setBold(True)
font.setItalic(False)
font.setWeight(75)
self.WarnLab.setFont(font)
self.WarnLab.setObjectName("WarnLab")
r = self.WarnLab.fontMetrics().boundingRect(_translate("MainWindow","This is some, \nlonger multi-line text blahblahblah!",None))
self.WarnLab.fixedWidth(r.width())
self.WarnLab.fixedHeight(r.height())
self.WarnLab.setStyleSheet(_fromUtf8("QLabel { background-color : orange; color : white;}"))
self.gridLayout_2.addWidget(self.WarnLab, 0,0,0,0)

但是QLabel 没有属性fixedWidth(),即这不起作用。谁能帮帮我?

【问题讨论】:

    标签: python pyqt pyqt4 qlabel


    【解决方案1】:

    如果您需要在小部件中设置固定尺寸,则必须使用setFixedWidth()setFixedHeight() 和/或setFixedSize()

    self.WarnLab.setFixedSize(r.size()) 
    

    self.WarnLab.setFixedWidth(r.width())
    self.WarnLab.setFixedHeight(r.height())
    

    如果你想知道 QLabel 的所有方法或任何其他小部件你应该查看 Qt 的文档,例如 here 是 QLabel 的文档,如果你想要所有的方法你必须点击"List of all members, including inherited members" 部分。

    【讨论】:

      猜你喜欢
      • 2014-05-04
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多