Как нарисовать ломаную векторную линию? |
Здравствуйте, гость ( Вход | Регистрация )
Как нарисовать ломаную векторную линию? |
Гость_Shef_* |
18.12.2009, 8:31
Сообщение
#1
|
Гости |
Здравствуйте! Есть виджет, нужно нарисовать на нем ломаную линию из векторов, по точкам, и чтобы к каждой точке подходила стрелка, ну и соответственно стереть её как нибудь если нужно... Как ето сделать, подскажите пожалуйста?
|
|
|
Litkevich Yuriy |
18.12.2009, 10:57
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
лучше всего такие вещи делать высосокуровнево - с помощью Графического представлеиня
|
|
|
Гость_Гость_* |
20.12.2009, 9:44
Сообщение
#3
|
Гости |
привеодится такой исходный код в справке по 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, 13:04
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
я его вставляю в методы рисование на QWidget и его наследниках, в обычном случае, возможно только в событии рисования paintEvent(QPaintEvent *)то мне паписать в main.cpp чтобы он на виджете нарисовал етот текст? ничего, нужно скопировать этот пример в твой виджетОткуда он берется? ... Или ето ОСь его отправляет? да это события посылает ОСь, точнее сказать - оконный менеджерПосмотри описание void QWidget::paintEvent ( QPaintEvent * event ) [virtual protected] |
|
|
Гость_Гость_* |
20.12.2009, 13:51
Сообщение
#5
|
Гости |
Спасибо! Можете на пример ссылочку дать, где можно посмотреть, как рисовать ломаные прямые, сохраняя прежние, рисовать следующие, и ,если нужно, то удалять предыдущие?
|
|
|
Litkevich Yuriy |
20.12.2009, 15:35
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
совсем простого примера нет, есть демки рисования с помощью "Артура":
demos\pathstroke может тебе подойдёт Но вообще Артур, достаточно низко уровневая вещь, посмотри в сторону "Графического Представления" |
|
|
Litkevich Yuriy |
20.12.2009, 21:47
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
вот ещё примерчик - Рисование Диаграмм
|
|
|
Гость_Гость_* |
20.12.2009, 23:16
Сообщение
#8
|
Гости |
Спасибо, разобрался... В список ложу каждую линию, и вывожу весь лист каждый раз при вырисовке... только вот проблема и удалением линий... нужно знать, где каждая линия лежит в списке...
|
|
|
ViGOur |
20.12.2009, 23:25
Сообщение
#9
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
А зачем тебе знать какая линия и где лежит? Думаю будет достаточно и того, что ты знаешь линию по каким координатам тебе нужно удалить. А затем просто пробежаться по вектору, найти эту линию и удалить.
|
|
|
trdm |
21.12.2009, 1:10
Сообщение
#10
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
вот ещё примерчик - Рисование Диаграмм глючный пример кстати. Я сначала обрадовался, думал набросаю себе кой-чего, потом потестил пример и плюнул..
Сообщение отредактировал trdm - 21.12.2009, 1:19 |
|
|
Текстовая версия | Сейчас: 24.12.2024, 5:07 |