Russian Qt Forum

Qt => Вопросы новичков => Тема начата: qwyllum от Август 25, 2013, 12:38



Название: QGraphicsItem - нужно переопределение вершин в реальном времени
Отправлено: qwyllum от Август 25, 2013, 12:38
Доброго времени суток, уважаемые форумчане! Имею класс, наследуемый от QGraphicsItem. Необходимо реализовать, чтобы при выборе пункта в контекстном меню, пользователь мог редактировать вершины. Я уже реализовал редактирование и добавление новых вершин с помощью диалога(пользователь просто вводит в текстовые поля значения координат) и все работает. Но необходимо именно изменение в реальном времени. Я пробовал так:
1. Нажатие на пункт контекстного меню меняет некую переменную-ключ
2. Переопределил метод mousePressEvent
3. В методе есть условие - если ключ равен единице, тогда программа отлавливает координаты мыши. Если они находятся над любой точкой, то включается еще один переключатель
4. В методе mouseMoveEvent, если второй переключатель равен единице, то координаты точки смещаются туда, куда движется указатель мыши.

Это работает, но если я сдвигаю точку куда-то, то мне нужно подвигать объект мышью после, чтобы он перерисовался, что не очень удобно. Помогите пожалуйста советами.