Russian Qt Forum
Ноябрь 24, 2024, 19:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsSceneHoverEvent как обработать событие наведения?  (Прочитано 6764 раз)
iukash
Гость
« : Апрель 09, 2010, 13:45 »

Не могу обработать событие наведение мыши, все клики перемещение, отпускание кнопок обработал переопределив виртуальные функции у QGraphicsItem. А как обработать наведение мыши понять не могу. Нашел QGraphicsSceneHoverEvent  в документации, делаю
Цитировать
QPointF point=QGraphicsSceneHoverEvent::pos();
или так
Цитировать
float x=QGraphicsSceneHoverEvent::pos().x();
а он мне
Цитировать
main.cpp:15: error: cannot call member function 'QPointF QGraphicsSceneHoverEvent::pos() const' without object
Что делать? Как обработать событие наведение мыши?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Апрель 09, 2010, 14:36 »

void QGraphicsItem::setAcceptHoverEvents ( bool enabled )
Записан

Qt 5.11/4.8.7 (X11/Win)
iukash
Гость
« Ответ #2 : Апрель 09, 2010, 17:15 »

void QGraphicsItem::setAcceptHoverEvents ( bool enabled )

Блин, я по ходу вообще тупой. И что с этим
Цитировать
void QGraphicsItem::setAcceptHoverEvents ( bool enabled )
делать?
 Непонимающий
Записан
ieroglif
Гость
« Ответ #3 : Апрель 09, 2010, 17:38 »

void QGraphicsItem::setAcceptHoverEvents ( bool enabled )

Блин, я по ходу вообще тупой. И что с этим
Цитировать
void QGraphicsItem::setAcceptHoverEvents ( bool enabled )
делать?
 Непонимающий
да, прости, но, по ходу, ты вообще тупой.
делать тебе надо следующее:
1. выучить английский (что бы перевести слова set Accept Hover и Events и понять в чём смысл).
2. привыкнуть сразу лезть в документацию, если тебе дали что-то непонятное и читать там про это самое. (кстати, для того что бы нормально читать документацию - тебе надо выучить английский).
Записан
iukash
Гость
« Ответ #4 : Апрель 09, 2010, 20:08 »

Цитировать
выучить английский
С радостью, но это не сделать за пару недель, заказал книгу, буду учить, но пока в нем ноль (в школе и институте учил немецкий)! А объяснять я никого не заставляю, не хочешь не пиши!
Записан
iukash
Гость
« Ответ #5 : Апрель 09, 2010, 20:18 »

Цитировать
выучить английский
С радостью, но это не сделать за пару недель, заказал книгу, буду учить, но пока в нем ноль (в школе и институте учил немецкий)! А объяснять я никого не заставляю, не хочешь не пиши!
Цитировать
что бы перевести слова set Accept Hover и Events
вот что дал переводчик
Цитировать
набор Принимает События Парения
ну и что я должен был понять?
Записан
Homo_Ludenus
Гость
« Ответ #6 : Апрель 12, 2010, 11:06 »

Дословный перевод зло.

void QGraphicsItem::setAcceptHoverEvents ( bool enabled )

Если enabled равно true, этот элемент будет принимать события перемещения над ним курсора мыши; в противном случае он будет игнорировать их. По-умолчанию элементы не принимают данные события.

События перемещения мыши доставляются в том случае, когда нет других элементов, обладающих фокусом ввода мыши. Они посылаются когда курсор мыши входит в область элемента, когда он перемещается внутри его области и когда он её покидает. События перемещения мыши обычно используются для подсветки элемента когда на него наводится курсор и для отслеживания курсора мыши когда он находится над элементом (эквивалентноQWidget::mouseTracking).

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

Если родитель обрабатывает события потомков (setHandlesChildEvents()), он будет получать события перемещения мыши, перемещения и бросания когда переходит от одного дочернего элемента к другому, но он не получить ни события входа в область элемента и выхода за неё, ни события начала и окончания перетаскивания от имени его потомков.

QGraphicsWidget с декорацией окна будет принимать события перемещения мыши независимо от значения acceptHoverEvents().

Эта функция была введена в Qt 4.4.
Записан
iukash
Гость
« Ответ #7 : Апрель 12, 2010, 22:03 »

Homo_Ludenus спасибо, но я уже разобрался, а английский начал учить, не все сразу!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.154 секунд. Запросов: 23.