Название: Выравнивание по тексту Отправлено: like-nix от Февраль 25, 2011, 00:41 Подскажите пожалуйста.
Как сделать чтобы QTextEdit при вводе текста увеличивался(вниз), в том случае если текст не помещается в отведенное для изначально размер, до определенных размеров, и далее нужно запретить ввод текста. Т.е. нужен виджет в который можно писать текст и он будет изменять размер как написано выше, так что это не обязательно QTextEdit надо. И второй вопрос. Можно ли сделать многострочный Qlabel? Нужно чтобы текст автоматом переносился на новую строку(т.е по ширине перенос должен выполняться) в том случае если не помещается в одну строку, и нужно сделать ограничение строк само собой чтобы он увеличивался до определенных размеров. Не поместившийся текст должен отрезаться "...", а при наведении должен выскакивать tooltip и показывать весь текст(это такая идея =) подсказку сделать знаю как). Опять же не обязательно QLabel нужен основная функция отображение текста как написано выше, без возможности редактирования. Жду предложений Название: Re: Выравнивание по тексту Отправлено: serg_hd от Февраль 25, 2011, 01:11 QLabel lbl("text1\ntext2\ntext3"); И не забывай при этом ставить ему нужную ширину/высоту.
Для запрета ввода текста смотри в строну eventFilter'а например. Название: Re: Выравнивание по тексту Отправлено: like-nix от Февраль 25, 2011, 01:29 Спасибо за ответ про Label. Правда я уже сам до пер =). А про Edit подскажите ;)
Нужно чтобы он по тексту вниз увеличивал размер. Название: Re: Выравнивание по тексту Отправлено: like-nix от Февраль 25, 2011, 01:48 Подскажите как определить ширину и высоту текста.
Название: Re: Выравнивание по тексту Отправлено: like-nix от Февраль 25, 2011, 01:52 Может это делать через QTextCharFormat::fontWeight? Предполагаю тогда нужно посчитать сколько символов в строке и умножить на это число, но тогда у меня вопрос всели символы равны?
Название: Re: Выравнивание по тексту Отправлено: serg_hd от Февраль 25, 2011, 02:08 QFontMetrics
Название: Re: Выравнивание по тексту Отправлено: Igore от Февраль 25, 2011, 10:08 Для QLabel можно попроще, использовать wordWrap (перенос строк будет автоматом), отрезание текста все равно придется самому делать.
Я делал подобное (маштабирование по заданной области чтобы все влезало), в paintEvent, через QTextLayout, QTextOption, QPainter. http://doc.trolltech.com/main-snapshot/qt4-scribe.html (http://doc.trolltech.com/main-snapshot/qt4-scribe.html) |