python - 根据 QLabel 包含的文本自动调整 QLabel 的大小

标签 python pyqt pyqt4 qlabel

我有一个 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(),即这不起作用。谁能帮帮我吗?

最佳答案

如果您需要在小部件中设置固定尺寸,则必须使用 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" 部分.

关于python - 根据 QLabel 包含的文本自动调整 QLabel 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60160619/

相关文章:

Python-QTableWidget : How to catch signal when sorting in header is clicked

python - pyqt的进度条

python - np.ndarray` "is"中的奇怪行为

Python 列表理解

python - 如何更改标签的字体(和字体大小)

python - 如何将 mousePressEvent 从 QItemDelegate 传递给 QTableView

python - 确定表达式中是否按下了键 (Python) (PyQT)

python - 添加新行并保留索引 python

python - 如何通过 Python 从 Azure Functions 连接到 Azure MySQL

python - pyqt4 + 单选按钮