crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Высота шрифта ?, Проблемы с QFontMetrics и т.п.
flankerr
  опции профиля:
сообщение 17.1.2008, 17:42
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


есть вывод текста

painter->drawText(x,y,"TEST_TXT");

Вопрос как вокруг текста нарисовать прямоугольник ?
(Или как узнать QRect в которм находиться текст)
QFontMetrics выдаёт весьма противоречивый результат....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 17.1.2008, 19:14
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


А если попробовать посчитать посимвольно?
С помощью: QRect QFontMetrics::boundingRect ( QChar ch ) const.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 18.1.2008, 11:22
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Цитата(ViGOur @ 17.1.2008, 19:14) *
А если попробовать посчитать посимвольно?
С помощью: QRect QFontMetrics::boundingRect ( QChar ch ) const.


boundingRect('A') == boundingRect('a') == boundingRect ('_')
и это равенство противоречит описанию результата для данной функции...(или я что-то не понимаю...)

Rect описывающий заглавную букву можно найти таким вот образом (как уже писал выше)
rect = fm.boundingRect('A')
-(rect.top() + rect.bottom() + fm.lineWidth())

как узнать высоту произвольного символа остаються загадкой.... Завбавно получается - функций много а результат противоречит ожидаемому и описанному в документации....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- flankerr   Высота шрифта ?   17.1.2008, 17:42
- - flankerr   ширину определить легкоЮ а вот высоту как оказалос...   17.1.2008, 18:09
- - ViGOur   Так вроде нормально: QPainter painter( this...   17.1.2008, 18:22
- - flankerr   Увы.... С таким же успехом я могу прямоугольник на...   17.1.2008, 18:36
- - ViGOur   А в данном случае как? У меня отклонение где-то на...   17.1.2008, 18:42
|- - flankerr   Цитата(ViGOur @ 17.1.2008, 18:42) А в дан...   17.1.2008, 18:45
- - flankerr   вот с помощью такой феньки rect = fm.boundingRect...   17.1.2008, 19:01
- - ViGOur   Я уже вижу, что пошаманить немного прийдется...   17.1.2008, 19:12
- - ViGOur   А если попробовать посчитать посимвольно? С помощь...   17.1.2008, 19:14
|- - flankerr   Цитата(ViGOur @ 17.1.2008, 19:14) А если ...   18.1.2008, 11:22
- - Litkevich Yuriy   Я тут не вникая глянул в книжку Макса Шлее, там те...   18.1.2008, 9:54
- - ViGOur   Цитата(flankerr @ 17.1.2008, 19:01) Но во...   18.1.2008, 11:19
|- - flankerr   Цитата(ViGOur @ 18.1.2008, 11:19) Цитата(...   18.1.2008, 11:25
- - flankerr   кстати нашёл ещё интересную вещь QFontMetrics::un...   18.1.2008, 11:50
- - ViGOur   Вот я тут попробовал русские буквы, можешь посмотр...   18.1.2008, 11:54
- - flankerr   boundingRect выдаёт правильно ширину для заданного...   18.1.2008, 12:17
- - ViGOur   Цитата(flankerr @ 18.1.2008, 12:17) выдаё...   18.1.2008, 12:35
- - Tonal   На WinApi таки можно узнать "реальную" в...   19.1.2008, 11:44


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.5.2022, 7:02