QTextDocument::size() に問題があります
ドキュメントのサイズは、ユーザーが手動で TextEdit に何かを入力するたびに更新されます。(したがって、SIGNAL textChangedでは問題なく動作します)。ただし、コードでテキストを挿入します。
textEdit->insertPlainText("blablablabla\n");
これを使用する場合:
int iHeight = textEdit->document()->size().height();
textEdit に複数行のテキストがある場合でも、iHeight は常に 21 です。話した SIGNAL で同じコード行を使用すると、iHeight は魔法のように正しい数値に変わります。
基本的に、私の質問は、ドキュメントのサイズを更新して適切な数を返す方法ですか?