проблема с рисованием линии |
Здравствуйте, гость ( Вход | Регистрация )
проблема с рисованием линии |
trubala |
10.2.2011, 0:13
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 10.2.2011 Пользователь №: 2401 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток! проблема, мне нужно к полигону от другого полигона нарисовать 3 линии, так получаеться, что 1-я линия рисуеться нормально, 2-я линия так же рисуеться но 1-й уже нет на сцене, тоже самое и с 3-й линией, 2-я пропадает.
Thanks! |
|
|
slav |
10.2.2011, 0:19
Сообщение
#2
|
Студент Группа: Участник Сообщений: 19 Регистрация: 22.12.2010 Пользователь №: 2292 Спасибо сказали: 0 раз(а) Репутация: 0 |
А можно код
|
|
|
trubala |
10.2.2011, 0:57
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 10.2.2011 Пользователь №: 2401 Спасибо сказали: 0 раз(а) Репутация: 0 |
А можно код Раскрывающийся текст
это код рисования линии, физически все 3 созданных линии есть(память выделена и не освобождалась), но видимо перисовка не правильно работает |
|
|
slav |
10.2.2011, 2:29
Сообщение
#4
|
Студент Группа: Участник Сообщений: 19 Регистрация: 22.12.2010 Пользователь №: 2292 Спасибо сказали: 0 раз(а) Репутация: 0 |
а если попробывать в начале метода вызывать painter->save();
а в конце painter->restore(); ? |
|
|
trubala |
10.2.2011, 2:55
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 10.2.2011 Пользователь №: 2401 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Obey-Kun |
10.2.2011, 4:21
Сообщение
#6
|
Студент Группа: Участник Сообщений: 96 Регистрация: 24.3.2010 Пользователь №: 1556 Спасибо сказали: 3 раз(а) Репутация: 0 |
Цитата if(K7Line != NULL) painter->setPen(QPen(Qt::black, 4, Qt::DashLine, Qt::RoundCap, Qt::RoundJoin)); if(p296Line != NULL) painter->setPen(QPen(Qt::black, 4, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); if(p2Line != NULL) painter->setPen(QPen(Qt::black, 4, Qt::DotLine, Qt::RoundCap, Qt::RoundJoin)); if(p268Line != NULL) painter->setPen(QPen(Qt::black, 4, Qt::DashDotLine, Qt::RoundCap, Qt::RoundJoin)); if(p269Line != NULL) painter->setPen(QPen(Qt::black, 4, Qt::DashDotDotLine, Qt::RoundCap, Qt::RoundJoin)); if(p274Line != NULL) painter->setPen(QPen(Qt::green, 4, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); if(shLine != NULL) painter->setPen(QPen(Qt::gray, 4, Qt::SolidLine, Qt::FlatCap, Qt::RoundJoin)); если не секрет, что это за ужас? И вообще, страшный код. Совсем не в стиле Qt. Ну что за _endItem->IzmUr_d->o2? Почему префиксы _ и для локальных переменных, и для полей? Ну и не приватные поля — это ж плохо вообще-то. По теме — a boundingRect() определил? Кстати, save и restore делать не надо, ибо view это сам сделает, если там соответствующий флаг включён (а по умолчанию он включён). Сообщение отредактировал Obey-Kun - 10.2.2011, 4:25 |
|
|
Алексей1153 |
10.2.2011, 7:53
Сообщение
#7
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
trubala |
10.2.2011, 23:46
Сообщение
#8
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 10.2.2011 Пользователь №: 2401 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата if(K7Line != NULL) painter->setPen(QPen(Qt::black, 4, Qt::DashLine, Qt::RoundCap, Qt::RoundJoin)); if(p296Line != NULL) painter->setPen(QPen(Qt::black, 4, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); if(p2Line != NULL) painter->setPen(QPen(Qt::black, 4, Qt::DotLine, Qt::RoundCap, Qt::RoundJoin)); if(p268Line != NULL) painter->setPen(QPen(Qt::black, 4, Qt::DashDotLine, Qt::RoundCap, Qt::RoundJoin)); if(p269Line != NULL) painter->setPen(QPen(Qt::black, 4, Qt::DashDotDotLine, Qt::RoundCap, Qt::RoundJoin)); if(p274Line != NULL) painter->setPen(QPen(Qt::green, 4, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); if(shLine != NULL) painter->setPen(QPen(Qt::gray, 4, Qt::SolidLine, Qt::FlatCap, Qt::RoundJoin)); если не секрет, что это за ужас? И вообще, страшный код. Совсем не в стиле Qt. Ну что за _endItem->IzmUr_d->o2? Почему префиксы _ и для локальных переменных, и для полей? Ну и не приватные поля — это ж плохо вообще-то. По теме — a boundingRect() определил? Кстати, save и restore делать не надо, ибо view это сам сделает, если там соответствующий флаг включён (а по умолчанию он включён). Это различные типы кабелей связи(т.е разные линии) у каждого кабеля свои параметры "_endItem->IzmUr_d->o2" - это итем к которому проводят линию, IzmUr_d - это одно из устройств к которому может быть проведена линия
тяжёлое наследие борланда чувствуется ) Есть такое дело=)))) |
|
|
trubala |
11.2.2011, 1:39
Сообщение
#9
|
|||
Новичок Группа: Новичок Сообщений: 5 Регистрация: 10.2.2011 Пользователь №: 2401 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я брал пример программы с qt\examples\graphicsview\diagramscene
суть точно такая же, но и там в примере нельзя 2-ю линию провести....
|
|||
|
||||
Текстовая версия | Сейчас: 2.1.2025, 18:04 |