Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
ecspertiza |
18.12.2009, 10:53
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 15.7.2009 Пользователь №: 909 Спасибо сказали: 2 раз(а) Репутация: 1
|
Как определить что мышь находится над QGraphicsItem ? Я унаследовал от него класс переопределил событие event но увы некатит... может есть другой способ?
|
|
|
|
|
igor_bogomolov |
18.12.2009, 11:06
Сообщение
#2
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29
|
Например, перекрыть
и установить флаг в true
|
|
|
|
|
ecspertiza |
18.12.2009, 11:25
Сообщение
#3
|
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 15.7.2009 Пользователь №: 909 Спасибо сказали: 2 раз(а) Репутация: 1
|
я это тоже уже отыскал но , после того как я указываю setAcceptHoverEvents(true) на всём QGraphicsView устанавливается курсор Qt::ClosedHandCursor и она вся перетаскивает, как это вылечить?
|
|
|
|
|
igor_bogomolov |
18.12.2009, 11:51
Сообщение
#4
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29
|
Не проверял, но может эти методы QGraphicsView помогут
DragMode dragMode () const void setDragMode ( DragMode mode ) |
|
|
|
|
ecspertiza |
18.12.2009, 14:55
Сообщение
#5
|
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 15.7.2009 Пользователь №: 909 Спасибо сказали: 2 раз(а) Репутация: 1
|
Нашел в чем косяк был , QGraphicsView обрабатывал событие mouseMovieEvent() и если в обычных условиях это событие обрабатывается при зажатой кнопки мыши ,то в случае если у итема зданно setAcceptHoverEvents(true), оно обрабатывается постоянно.
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 9.1.2026, 22:52 |