防止 QLabel 调整父 Widget 的大小
Prevent QLabel from resizing parent Widget
我在 QFrame
里面有一个 QLabel
。
有时 QLabel
中的文本过多,它会调整 QFrame
所在的位置。
现在,我想阻止 QLabel
调整它所在的 QFrame
的大小。
我不想限制行数或设置 QLabel
的最大大小,因为如果应用程序的 window 大小增加,我确实希望允许 QLabel
增加尺寸。
只是想阻止 QLabel
扩展它的父项。
有什么干净的方法吗?
使用 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)
这有一个附带的好处,即用户仍然可以通过滚动鼠标滚轮来查看任何隐藏的文本。
我在 QFrame
里面有一个 QLabel
。
有时 QLabel
中的文本过多,它会调整 QFrame
所在的位置。
现在,我想阻止 QLabel
调整它所在的 QFrame
的大小。
我不想限制行数或设置 QLabel
的最大大小,因为如果应用程序的 window 大小增加,我确实希望允许 QLabel
增加尺寸。
只是想阻止 QLabel
扩展它的父项。
有什么干净的方法吗?
使用 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)
这有一个附带的好处,即用户仍然可以通过滚动鼠标滚轮来查看任何隐藏的文本。