crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QGraphicsItem и мышь нид ним
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  


Например, перекрыть
void QGraphicsItem::hoverEnterEvent ( QGraphicsSceneHoverEvent * event ) 
void QGraphicsItem::hoverLeaveEvent ( QGraphicsSceneHoverEvent * event )

и установить флаг в true
void QGraphicsItem::setAcceptHoverEvents ( bool enabled )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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), оно обрабатывается постоянно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 2.12.2020, 15:30