![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
yuramuv |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 12.9.2011 Пользователь №: 2864 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Нужно сделать так, чтоб можно было перетащить точку мышкой.
Сделал виджет, унаследованы от OpenGl, переопределил метод mouseMoveEvent
Вопрос: а как узнать, на какое расстояние курсор подвинулся? |
|
|
ilyabvt |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: ![]() ![]() ![]() |
Сохранять координаты в отдельных переменных. И при каждом событии высчитывать разность координат (новых которые можно узнать через объект QMouseEvent и старых которые сохранены в переменных).
|
|
|
Алексей1153 |
![]()
Сообщение
#3
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
yuramuv |
![]()
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 12.9.2011 Пользователь №: 2864 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Сохранять координаты в отдельных переменных. И при каждом событии высчитывать разность координат (новых которые можно узнать через объект QMouseEvent и старых которые сохранены в переменных). Спасибо. Думал реализовать нужно будет на QDrag, потому что не знал какое событие происходит при опускании кнопки мыши. (mouseReleaseEvent если нужно) flag isClicked=false;//в .h файле, =false - в конструкторе int PoxX_old,PosY_old;//в .h файле void GL_wgt:: mouseMoveEvent(QMouseEvent *ev) { if (ev->button()==Qt::LeftButton)//если нажали левую (для правши) кнопку мыши { isClicked=true; //проверка попадание {/*если попадание, пересунуть точку, обновить виджет*/} } } void GL_wgt::mouseReleaseEvent(QMouseEvent *)//если отпустили кнопку мыши { isClicked=false; } Просьба к модераторам: перейменуйте в [OpenGL] Перетащить Точку. Сонный был, не заметил) |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 11.5.2025, 17:52 |