Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как нарисовать ломаную векторную линию?
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
Shef
Здравствуйте! Есть виджет, нужно нарисовать на нем ломаную линию из векторов, по точкам, и чтобы к каждой точке подходила стрелка, ну и соответственно стереть её как нибудь если нужно... Как ето сделать, подскажите пожалуйста?
Litkevich Yuriy
лучше всего такие вещи делать высосокуровнево - с помощью Графического представлеиня
Гость
привеодится такой исходный код в справке по Qpainter:

void SimpleExampleWidget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setPen(Qt::blue);
painter.setFont(QFont("Arial", 30));
painter.drawText(rect(), Qt::AlignCenter, "Qt");
}

я его вставляю в методы одного из виджетов, описываю в заголовочном файле... что мне паписать в main.cpp чтобы он на виджете нарисовал етот текст? как вообще применяется QPaintEvent в етом методе? Откуда он берется? Что он представляет? Или ето ОСь его отправляет?
Litkevich Yuriy
Цитата(Гость_Гость_* @ 20.12.2009, 12:44) *
я его вставляю в методы
рисование на QWidget и его наследниках, в обычном случае, возможно только в событии рисования paintEvent(QPaintEvent *)

Цитата(Гость_Гость_* @ 20.12.2009, 12:44) *
то мне паписать в main.cpp чтобы он на виджете нарисовал етот текст?
ничего, нужно скопировать этот пример в твой виджет

Цитата(Гость_Гость_* @ 20.12.2009, 12:44) *
Откуда он берется? ... Или ето ОСь его отправляет?
да это события посылает ОСь, точнее сказать - оконный менеджер

Посмотри описание void QWidget::paintEvent ( QPaintEvent * event ) [virtual protected]
Гость
Спасибо! Можете на пример ссылочку дать, где можно посмотреть, как рисовать ломаные прямые, сохраняя прежние, рисовать следующие, и ,если нужно, то удалять предыдущие?
Litkevich Yuriy
совсем простого примера нет, есть демки рисования с помощью "Артура":
demos\pathstroke может тебе подойдёт

Но вообще Артур, достаточно низко уровневая вещь, посмотри в сторону "Графического Представления"
Litkevich Yuriy
вот ещё примерчик - Рисование Диаграмм
Гость
Спасибо, разобрался... В список ложу каждую линию, и вывожу весь лист каждый раз при вырисовке... только вот проблема и удалением линий... нужно знать, где каждая линия лежит в списке...
ViGOur
А зачем тебе знать какая линия и где лежит? Думаю будет достаточно и того, что ты знаешь линию по каким координатам тебе нужно удалить. А затем просто пробежаться по вектору, найти эту линию и удалить.
trdm
Цитата(Litkevich Yuriy @ 20.12.2009, 21:47) *
вот ещё примерчик - Рисование Диаграмм
глючный пример кстати. Я сначала обрадовался, думал набросаю себе кой-чего, потом потестил пример и плюнул..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.