【发布时间】:2020-08-31 22:43:02
【问题描述】:
我有一个QPlainTextEdit,它将包含不同数量的文本 - 有时什么都没有,有时太多以至于它会环绕几十次。我想保持QPlainTextEdit 尽可能高,以保持其所有内容可见。除非完全为空,否则不应有空行。
我尝试将尺寸策略设置为Minimum 和MinimumExpanding,并将最小和最大高度设置为零。没有这些作品的组合;在所有情况下,一个空的QPlainTextEdit 大约有四行半高。
似乎将高度降低到这个 4.5 行限制以下的唯一东西是setFixedHeight。但是,如果我这样做,那么我将需要自己计算所需的高度,这会破坏首先使用库的意义。
现在,我能想到的唯一可行的方法是这样的:
def onResize_or_textChanged(...):
my_text_edit.setHeight(0)
while my_text_exit has a visible scroll bar:
my_text_edit.setHeight(my_text_edit.height() + 1)
这显然是一个相当老套的解决方案。
如何使QPlainTextEdit 保持完全显示其文本所需的最小高度?
【问题讨论】:
标签: python-3.x pyqt5 qt5