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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsSceneMouseEvent  (Прочитано 4416 раз)
ArtMD64
Гость
« : Август 01, 2008, 21:03 »

Здравствуйте.Проблема вот в чем-создана сцена и мне нужно вычислить позицию указателя мыши на сцене.я использую функцию d.buttonDownScenePos(Qt::LeftButton) где d переменная типа QGraphicsSceneMouseEvent.Но при запуске программы я нажимаю на сцену и ничего не происходит,тоесть значение координат не присваюваются.так собственно в чем вопрос...нужно ли переменную d связывать со сценой?заранее спасибо
Записан
ритт
Гость
« Ответ #1 : Август 01, 2008, 21:35 »

> нужно ли переменную d связывать со сценой?
а откуда ты берёшь QGraphicsSceneMouseEvent? покажи код
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #2 : Август 01, 2008, 21:37 »

Приведите свой код.

я так подозреваю, что вы просто объявили d как:

QGraphicsSceneMouseEvent d;

и далее

d.buttonDownScenePos(Qt::LeftButton);

Верно? Если верное, то это в корне неправильно (обчем говорит полное незнание Qt)!

Правильное решение:

1) см. методы:

Код:
virtual void mousePressEvent ( QGraphicsSceneMouseEvent * mouseEvent )
virtual void mouseReleaseEvent ( QGraphicsSceneMouseEvent * mouseEvent )

их можно переобределить в классе-наследнике от QGraphicsScene.

2) Также можно установить эвент фильтр на QEvent::GraphicsSceneMousePress или QEvent::GraphicsSceneMouseRelease. См. QObject::installEventFilter

Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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