Russian Qt Forum
Ноябрь 25, 2024, 09:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: вывод текста с отступом  (Прочитано 5557 раз)
QCasper
Гость
« : Март 30, 2006, 08:59 »

для вывода текста использую QPainter::drawText, ту версию метода где текст выводится в прямоугольную область. Хотелось бы узнать как сделать чтобы первая строчка выводилась не от самого левого края этого прямоугольника, а через заданное число точек?
Записан
crocus
Гость
« Ответ #1 : Март 30, 2006, 09:08 »

А случайно не превью пытаешься сделать.
Записан
QCasper
Гость
« Ответ #2 : Март 30, 2006, 09:26 »

Цитата: "crocus"
А случайно не превью пытаешься сделать.


какое превью? да нет, просто допустим есть одна строка, и есть вторая строка. Первая строка с одними свойствами (шрифт, цвет и т.д.), вторая с другими, нужно выводить вторую сразу после первой:

"ПЕРВАЯ СТРОКА" "И СРАЗУ
ЗА НЕЙ ИДЕТ ВТОРАЯ"

вот в данном случае я знаю сколько точек ширина строки "ПЕРВАЯ СТРОКА" и я собираюсь вывести строку "И СРАЗУ ЗА НЕЙ ИДЕТ ВТОРАЯ" в этот общий прямоугольник, но отступив ширину первой.
Записан
Dendy
Гость
« Ответ #3 : Март 30, 2006, 11:33 »

Рисование в прямоугольник - базовая функция, всего не предусмотришь, да и не нужно. Такие финтьІ делаются, к примеру, так:

Код:
void draw_to_rect_with_offset( QPainter * p, const QRect & rect, int offset, const QString & text )
{
  QRect r = rect;
  r.setLeft( r.left() + offset );
  p.drawText( r, Qt::AlignLeft, text, &rect );
}
Записан
QCasper
Гость
« Ответ #4 : Март 30, 2006, 12:19 »

Цитата: "Dendy"
Рисование в прямоугольник - базовая функция, всего не предусмотришь, да и не нужно. Такие финтьІ делаются, к примеру, так:

Код:
void draw_to_rect_with_offset( QPainter * p, const QRect & rect, int offset, const QString & text )
{
  QRect r = rect;
  r.setLeft( r.left() + offset );
  p.drawText( r, Qt::AlignLeft, text, &rect );
}


я так подозреваю, что получится так:
---------------------------------------
|<offset>текст текст текст текст |
|<offset>текст текст текст текст |
|<offset>текст текст текст текст |
---------------------------------------

а мне нужно вот так:
------------------------------------
|<offset>текст текст текст      |
| текст текст текст текст текст |
| текст текст текст текст текст |
-------------------------------------
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.041 секунд. Запросов: 20.