【问题标题】:Prevent QLabel from resizing parent Widget防止 QLabel 调整父 Widget 的大小
【发布时间】:2016-09-16 13:51:54
【问题描述】:

我在QFrame 中有一个QLabel

有时我在 QLabel 中有太多文本,它会调整 QFrame 的大小。

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

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

有什么干净的方法吗?

【问题讨论】:

  • 不要在里面放太多文字?您想如何处理未显示的文本? QLabel 不是为此而设计的,您需要一个自定义小部件。
  • 截断 QLabel。显示尽可能多的文字。

标签: qt pyqt resize pyside qlabel


【解决方案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)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-10
    • 2014-04-14
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多