crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QGraphicsScene, передвижения элементов.
Phoenix_nsk
  опции профиля:
сообщение 5.5.2011, 19:31
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 57
Регистрация: 12.3.2011
Пользователь №: 2491

Спасибо сказали: 0 раз(а)




Репутация:   0  


Есть сцена, на ней есть элементы, некоторые двигать можно, некоторые нет, которые можно двигать - нужно ограничить в области их передвижения.

Как это лучше реализовать?

Как вообще контролировать передвижение элементов на сцене?

Я переопределил метод из QGraphicsView, в тестовом варианте это выглядит так:
void SetModelView::mouseMoveEvent(QMouseEvent *event)
{
    QGraphicsItem *temp = this->itemAt(event->pos());
    if (temp)
        temp->setPos(this->mapToScene(event->pos()));
}


Подскажите, пожалуйста с какой стороны вообще подойти к передвижению элементов?
Суть такова: Есть модель маятника, можно установить его начальное положение перетащив грузик, при этом угол поворота этого грузика ограничен, а так же при перемещении его должно сохраняться расстояние между точкой подвеса и грузом, т.е. по окружности движение, для этого надо пересчитывать координаты.

Сообщение отредактировал Phoenix_nsk - 6.5.2011, 19:24
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Phoenix_nsk
  опции профиля:
сообщение 7.5.2011, 18:28
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 57
Регистрация: 12.3.2011
Пользователь №: 2491

Спасибо сказали: 0 раз(а)




Репутация:   0  


На самое главное не ответили - координаты которые получаются от мыши не соответствуют координатам на сцене, элемент тащится вдалеке от указателя.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Phoenix_nsk   QGraphicsScene, передвижения элементов.   5.5.2011, 19:31
- - Litkevich Yuriy   Цитата(Phoenix_nsk @ 5.5.2011, 22:31) Я п...   6.5.2011, 7:09
|- - Phoenix_nsk   Цитата(Litkevich Yuriy @ 6.5.2011, 8:09) ...   6.5.2011, 19:27
- - 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


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 22:44