Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Резиновый QTextEdit

Автор: vanvo 27.9.2010, 21:55

Как в зависимости от содержимого QTextEdit изменять его высоту? Т.е. использовать мин. высоту если текста мало или совсем нет, а в противном случае - подстраивать высоту виджета.
У меня почему-то все время QTextEdit упирается в максимальное значение высоты.

Автор: Алексей1153 27.9.2010, 22:07

из варварских способов видятся два способа:
1) добыть текущий шрифт контрола. Добыть его клиентский прямоугольник. Замерить размеры отпечатанного текста, скорректировать размеры контрола
2) после отрисовки "просканировать" нижнюю пиксельную полосу клиентского прямоугольника. Если там только пикселы фона, то текст уместился, если иное - увеличить размер контрола

оба способа удобнее реализовать через субклассинг ИМХО )

Цитата(vanvo @ 28.9.2010, 0:55) *
У меня почему-то все время QTextEdit упирается в максимальное значение высоты.

я медитировал над этой строчкой )))

Автор: Litkevich Yuriy 28.9.2010, 10:39

Цитата(vanvo @ 28.9.2010, 1:55) *
У меня почему-то все время QTextEdit упирается в максимальное значение высоты.
значит где-то оно у тебя установлено, либо политика размера такая

Автор: panter_dsd 28.9.2010, 17:16

Посмотри psi, там это реализовано.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)