2012-12-13 1 views
5

설정 텍스트 : 나는 실행에 "뭔가"를 선택하면QTextEdit :: adjustSize()가 작동하지 않습니까? <code>QTextEdit</code>에 대한

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

대신 QTextEdit이 최대 너비 높이로 확장 된 경우에만 "뭔가", 랩 어라운드한다 .. 을 고칠 수 없습니다 "Something"만 강조 표시되고 추가 공백은 추가되지 않습니다.

기대 : 텍스트가 한 줄에 들어갈 정도로 작은 경우 텍스트가 줄 바꿈해야 할 때, 텍스트 편집, 높이 확장하지 않아야 만 여분의 라인 폭은하지 최대 너비를 추가해야합니다. adjustSize();가 호출되지 않은 경우

, 창조주의 .ui에서 설정 한 폭에 감싸 텍스트를 동적으로 ... 수평이나 수직으로 확장되지 않습니다

일부 정보 :

수평 정책 :
수직 정책을 확장 :
minimumSize을 MinimumExpanding : 2 × 22
최대 크기 : 300 × 100
lineWrapMode : WidgetWidth

답변

2

예, 회선을 계산하는 쉬운 방법이없는 것 같습니다 (QTextEdit).
adjustSize()QWidget에 대해 만들어지며 QTextEdit에 대해 다시 구현되지 않으며 sizeHint()을 기반으로합니다.
줄 수를 계산하는 데 사용자 고유의 방법을 사용할 수 있습니다 (예 : f.e.

  1. 당신은 당신의 텍스트
  2. 당신은 (22)에 높이를 설정하고 maximumHeight이 hitted 또는 수직 스크롤 사라져 때까지 증가 할 수있는 모든 단어의 폭을 계산하는 QFontMetrics을 사용할 수 있습니다.
  3. QTextEdit의 소스에서 정보를 얻을 수 있으며 하위 클래스로 뭔가를 다시 구현합니다 (adjustSize()?).
+0

고맙습니다. QTextEdit에 맞게 텍스트 너비와 setGeometry를 계산하려고합니다. – Noob

+0

안녕하세요, 같은 문제가 발생했습니다. 작동하는 경우 솔루션을 공유 할 수 있습니까? – Aleksandar