5

の設定テキストQTextEdit

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

「Something」のみをラップする必要があります。代わりに、QTextEditは最大のWidth-Heightに拡張され、修正できません。実行時に「Something」を選択すると、「Something」のみが強調表示され、余分な空白は追加されません。

期待:テキストが1行に収まるほど小さい場合、テキスト編集の高さを拡大しないでください。テキストを折り返す必要がある場合は、最大幅ではなく、余分な行幅のみを追加する必要があります。

が呼び出されない場合adjustSize();、テキストはCreatorの.uiで設定された幅で折り返され、水平方向にも垂直方向にも動的に展開されません。

いくつかの情報:

水平方向のポリシー:拡張
垂直方向のポリシー:MinimumExpanding最小サイズ:
2×22
最大サイズ:300×
100lineWrapMode:WidgetWidth

4

1 に答える 1

2

はい、行を数える簡単な方法はないようQTextEditです。
adjustSize()用に作成され、 用にQWidget再実装されていません。QTextEditに基づいていsizeHint()ます。
独自の方法を使用して行を数えることができます、fe

  1. QFontMetricsテキスト内のすべての単語の幅を計算 するために使用できます
  2. 高さを 22 に設定し、 maximumHeight に達するか、垂直スクロールバーが消えるまで増加させることができます。
  3. それ自体のソースからいくつかの情報を取得し、QTextEditそれをサブクラス化し、adjustSize()そこに何か (?) を再実装することができます。
于 2012-12-13T17:34:43.313 に答える