Здравствуйте, гость ( Вход | Регистрация )
|
Phoenix_nsk |
5.5.2011, 19:31
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 57 Регистрация: 12.3.2011 Пользователь №: 2491 Спасибо сказали: 0 раз(а) Репутация: 0
|
Есть сцена, на ней есть элементы, некоторые двигать можно, некоторые нет, которые можно двигать - нужно ограничить в области их передвижения.
Как это лучше реализовать? Как вообще контролировать передвижение элементов на сцене? Я переопределил метод из QGraphicsView, в тестовом варианте это выглядит так: Подскажите, пожалуйста с какой стороны вообще подойти к передвижению элементов? Суть такова: Есть модель маятника, можно установить его начальное положение перетащив грузик, при этом угол поворота этого грузика ограничен, а так же при перемещении его должно сохраняться расстояние между точкой подвеса и грузом, т.е. по окружности движение, для этого надо пересчитывать координаты. Сообщение отредактировал Phoenix_nsk - 6.5.2011, 19:24 |
|
|
|
![]() |
|
Litkevich Yuriy |
6.5.2011, 7:09
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(Phoenix_nsk @ 5.5.2011, 22:31) Link Я переопределил метод из QGraphicsScene Цитата(Phoenix_nsk @ 5.5.2011, 22:31) Link void SetModelView:: пишешь что метод сцены переопределил, а название класса содержит "Представление"Цитата(Phoenix_nsk @ 5.5.2011, 22:31) Link В итоге приложение вылетает Segmentation fault логично, ведь ты не проверяешь есть ли вообще элемент в данных координатах itemAt(event->pos()). А сразу вызываешь метод.
|
|
|
|
|
Phoenix_nsk |
6.5.2011, 19:27
Сообщение
#3
|
|
Студент ![]() Группа: Участник Сообщений: 57 Регистрация: 12.3.2011 Пользователь №: 2491 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(Litkevich Yuriy @ 6.5.2011, 8:09) Link Цитата(Phoenix_nsk @ 5.5.2011, 22:31) Link Я переопределил метод из QGraphicsScene Цитата(Phoenix_nsk @ 5.5.2011, 22:31) Link void SetModelView:: пишешь что метод сцены переопределил, а название класса содержит "Представление"Цитата(Phoenix_nsk @ 5.5.2011, 22:31) Link В итоге приложение вылетает Segmentation fault логично, ведь ты не проверяешь есть ли вообще элемент в данных координатах itemAt(event->pos()). А сразу вызываешь метод.Поправил замечания. Да меня уже конкретно клинит на этом. Из-за того что не могу сделать адекватные передвижения элементов - не могу двигаться дальше. Как лучше подойти к вопросу передвижения элементов? Там ещё преобразовывать систему координат надо, что-то она тоже не работает у меня как надо. Я в печали. =((( |
|
|
|
Phoenix_nsk QGraphicsScene, передвижения элементов. 5.5.2011, 19:31
Phoenix_nsk Размер сцены взят из размеров виджета, его размеры... 6.5.2011, 20:22
Phoenix_nsk Да чё такое то, народ?
Тема сложная или чё; просмо... 7.5.2011, 16:29
ufna тема.. как бэ элементарная, уже на все ответили
т... 7.5.2011, 18:12
Phoenix_nsk На самое главное не ответили - координаты которые ... 7.5.2011, 18:28
ufna а зачем по View то ловишь? Лови в самом айтеме или... 7.5.2011, 18:53
Phoenix_nsk Можно примеры?
Реально, уже второй раз с преобразо... 7.5.2011, 19:08
ufna Выкладывайте, посмотрим. 7.5.2011, 19:13
Phoenix_nsk Проект туД
Сейчас читаю примеры из демок Qt, 4000 ... 7.5.2011, 19:49
Phoenix_nsk М? 9.5.2011, 20:45
mks Цитата(Phoenix_nsk @ 5.5.2011, 19:31) Ест... 11.5.2011, 9:59
ufna да нет, все проще. Если ты делаешь:
scene->ad... 11.5.2011, 10:13
Phoenix_nsk Кстати, заметили что градиент то совсем не градиен... 11.5.2011, 17:20
ufna А градиент я думаю считается от (0,0) позиции, а у... 12.5.2011, 17:42![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 14.12.2025, 19:25 |