Russian Qt Forum
Ноябрь 25, 2024, 00:52
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Выравнивание по тексту
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Выравнивание по тексту (Прочитано 5153 раз)
like-nix
Гость
Выравнивание по тексту
«
:
Февраль 25, 2011, 00:41 »
Подскажите пожалуйста.
Как сделать чтобы QTextEdit при вводе текста увеличивался(вниз), в том случае если текст не помещается в отведенное для изначально размер, до определенных размеров, и далее нужно запретить ввод текста. Т.е. нужен виджет в который можно писать текст и он будет изменять размер как написано выше, так что это не обязательно QTextEdit надо.
И второй вопрос. Можно ли сделать многострочный Qlabel? Нужно чтобы текст автоматом переносился на новую строку(т.е по ширине перенос должен выполняться) в том случае если не помещается в одну строку, и нужно сделать ограничение строк само собой чтобы он увеличивался до определенных размеров. Не поместившийся текст должен отрезаться "...", а при наведении должен выскакивать tooltip и показывать весь текст(это такая идея =) подсказку сделать знаю как). Опять же не обязательно QLabel нужен основная функция отображение текста как написано выше, без возможности редактирования.
Жду предложений
«
Последнее редактирование: Февраль 25, 2011, 01:05 от like-nix
»
Записан
serg_hd
Хакер
Offline
Сообщений: 668
Re: Выравнивание по тексту
«
Ответ #1 :
Февраль 25, 2011, 01:11 »
QLabel lbl("text1\ntext2\ntext3"); И не забывай при этом ставить ему нужную ширину/высоту.
Для запрета ввода текста смотри в строну eventFilter'а например.
«
Последнее редактирование: Февраль 25, 2011, 01:20 от serg_hd
»
Записан
kubuntu/Win7/x64/NetBeans
like-nix
Гость
Re: Выравнивание по тексту
«
Ответ #2 :
Февраль 25, 2011, 01:29 »
Спасибо за ответ про Label. Правда я уже сам до пер =). А про Edit подскажите
Нужно чтобы он по тексту вниз увеличивал размер.
«
Последнее редактирование: Февраль 25, 2011, 01:39 от like-nix
»
Записан
like-nix
Гость
Re: Выравнивание по тексту
«
Ответ #3 :
Февраль 25, 2011, 01:48 »
Подскажите как определить ширину и высоту текста.
Записан
like-nix
Гость
Re: Выравнивание по тексту
«
Ответ #4 :
Февраль 25, 2011, 01:52 »
Может это делать через QTextCharFormat::fontWeight? Предполагаю тогда нужно посчитать сколько символов в строке и умножить на это число, но тогда у меня вопрос всели символы равны?
Записан
serg_hd
Хакер
Offline
Сообщений: 668
Re: Выравнивание по тексту
«
Ответ #5 :
Февраль 25, 2011, 02:08 »
QFontMetrics
Записан
kubuntu/Win7/x64/NetBeans
Igore
Гость
Re: Выравнивание по тексту
«
Ответ #6 :
Февраль 25, 2011, 10:08 »
Для QLabel можно попроще, использовать wordWrap (перенос строк будет автоматом), отрезание текста все равно придется самому делать.
Я делал подобное (маштабирование по заданной области чтобы все влезало), в paintEvent, через QTextLayout, QTextOption, QPainter.
http://doc.trolltech.com/main-snapshot/qt4-scribe.html
«
Последнее редактирование: Февраль 25, 2011, 10:37 от Igore
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...