gpt4 book ai didi

QTextEdit::adjustSize() 不起作用?

转载 作者:行者123 更新时间:2023-12-02 11:52:53 29 4
gpt4 key购买 nike

QTextEdit设置文本:

te->setPlainText(“Something”) ;
te->adjustSize();

应该只环绕“Something”,而不是QTextEdit正在扩展到其最大宽度-高度,无法修复它。当我在运行时选择“Something”时,仅突出显示“Something”,没有添加额外的空格。

期望:当文本足够小以适合一行时,文本编辑不应在高度上扩展,当文本需要换行时,仅应添加额外的行宽而不是添加最大宽度。

如果未调用 adjustSize();,文本将按照 Creator 中 .ui 中设置的宽度换行,不会动态水平或垂直扩展。

一些信息:

Horizontal Policy: Expanding
Vertical Policy : MinimumExpanding
minimumSize : 2×22
maximum Size : 300×100
lineWrapMode: WidgetWidth

最佳答案

是的,看起来没有简单的方法来计算 QTextEdit 中的行数。
adjustSize() 是为 QWidget 制作的,没有为 QTextEdit 重新实现,它基于 sizeHint()
您可以使用自己的方法来计算行数,例如

  1. 您可以使用QFontMetrics来计算文本中每个单词的宽度
  2. 您可以将高度设置为 22 并递增它,直到达到最大高度或垂直滚动​​条消失。
  3. 您可以从 QTextEdit 本身的源中获取一些信息,并将其子类化,在那里重新实现某些内容(adjustSize()?)。

关于QTextEdit::adjustSize() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13863173/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com