![]() |
|
![]() ![]() ![]() |
|
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
Есть некая строка stroka="privet vsem", которая выводится в лейбл. Вопрос — как узнать пиксельную ширину строки stroka? (по идее надо символьную длину строки stroka умножить на пиксельную ширину одного символа, но как узнать эту односимвольную пиксельную ширину?) просто мне ширину лейбла надо подогнать под ширину выводимой в него строки...размер шрифта, используемый в лейбле, известен (если он тут вообще нужен)...
Это сообщение отредактировал(а) kuvshinka - 4.3.2013, 21:25 |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Ширина буквы Ш будет шире средней, буквы i - уже. Поэтому измерять нужно ширину всей строки.
см. класс QFontMetrics. |
|||
|
||||
kuvshinka |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 27.4.2008 Репутация: нет Всего: нет |
math64: подскажите пож-та пример....я знаю только как узнать символьную ширину строки (типа text().length())...
|
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
А так - label сама знает, какая ширина ей нужна - не мешайте ей в этом, используйте layout. |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
PS: причём ширина строки не равна сумме ширин составляющих её букв (например, для наклонного шрифта). Тескт может вылезать влево - в этом случае r.left() будет отрицательным.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |