阻止QLabel调整父Widget的大小

时间:2016-09-16 13:51:55

标签: qt pyqt pyside

我在QLabel内有QFrame

有时我在QLabel中有太多文字,并会调整QFrame所在位置的大小。

现在,我想阻止QLabel调整其所在的QFrame的大小。 我不想限制行数或设置QLabel的最大大小,因为如果应用的窗口大小增加,我确实希望允许QLabel增加大小

只是想阻止QLabel扩展它的父母。

任何干净的方法吗?

1 个答案:

答案 0 :(得分:1)

使用QScrollArea(继承QFrame),并隐藏其滚动条:

label = QtGui.QLabel(text)
frame = QtGui.QScrollArea()
frame.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
frame.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
frame.setWidgetResizable(True)
frame.setWidget(label)

这样做的另一个好处是用户仍然可以通过滚动鼠标滚轮来查看任何隐藏文本。