Здравствуйте, гость ( Вход | Регистрация )
quarz | Дата 8.7.2010, 23:23 |
Спасибо, Юрий! Действительно, в графическое представление встроен функционал для перетаскивания. За это отвечает флаг QGraphicsItem::ItemIsMovable |
|
Litkevich Yuriy | Дата 8.7.2010, 18:30 |
Как будто GraphicsView не передает событие родителю собственно это штатное поведение, если обработчик события у виджета есть, то он его и принял, дальше оно пойдёт только в случае если обработчик события выставит флаг "ignore".для того чтобы ловить чужое событие нужно ставить "фильтр событий", смотри QObject::installEventFilter(), там приведён пример как это делать. П.С. а вообще каркас графического представления уже имеет реализацию перетаскивания элементов, нужно только элементу соответствующий флаг установить |
|
quarz | Дата 8.7.2010, 17:59 |
есть главное окно на которое с помощью дизайнера вставлен QGraphicsView.Мне надо ловить события мыши и колеса прокрутки, для перемещения графики по сцене. Делаю это так:
Если кликнуть мышью по форме (не по GraphicsView), то все события срабатывают. А если кликнуть над GraphicsView и потаскать мышь с зажатой кнопкой, то MousePress сработает, а MouseMove - нет. Почему? Как будто GraphicsView не передает событие родителю, но почему тогда MousePress срабатывает? Что-то я в этих событиях еще не разобрался... |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 19.4.2024, 14:20 |