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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перехват события перемещения родителя потомком  (Прочитано 3626 раз)
Dovgon
Гость
« : Октябрь 23, 2015, 21:32 »

Использую parent->installEventFilter(this); для перехвата событий родительского окна.
Но перемещение потомка происходит только в последней точки перемещения родительского. Возможно выполить перермещение потомка за родителем по плавно?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Октябрь 24, 2015, 06:01 »

Использую parent->installEventFilter(this); для перехвата событий родительского окна.
Но перемещение потомка происходит только в последней точки перемещения родительского. Возможно выполить перермещение потомка за родителем по плавно?
Яснее излагайте. "перехвата событий" - каких событий? "последней точки" - когда мыша отпущена, или как? Ну и наверное "потомок" - тоже отдельное окно. Ловите в фильтре moveEvent - оно приходит
Записан
Dovgon
Гость
« Ответ #2 : Октябрь 24, 2015, 09:47 »

Есть два окна, нужно что бы при движении одного второе двиголось за ним, при этом описовало всю троекторию движения.
Если использовать installEventFilter и в eventFilter(QObject *watched, QEvent *event) отслеживать события движения окна, то оно приходит одно когда отпускаешь мышку. И второе окно перемещается рывком. И все события происходящие над заголовком окна не прехватываются (перемещения мышки, нажатие на кнопки мышки).
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Октябрь 24, 2015, 09:49 »

Попробуйте включить void   QWidget::setMouseTracking(bool enable)
тогда будут приходить все события при перемещении мыши.
Записан
Dovgon
Гость
« Ответ #4 : Октябрь 24, 2015, 09:58 »

setMouseTracking не помогло, как только курсор оказывается над заголовком окна события перестают поступать, пробовал его устанавливать qApp->installEventFilter(). тоже не одного сообщения над зоголовком, как черная дыра.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #5 : Октябрь 24, 2015, 10:03 »

setMouseTracking не помогло, как только курсор оказывается над заголовком окна события перестают поступать, пробовал его устанавливать qApp->installEventFilter(). тоже не одного сообщения над зоголовком, как черная дыра.
Так проблема при движении над заголовком? Сейчас приходят все события о перемещении внутри области окна?
Записан
Dovgon
Гость
« Ответ #6 : Октябрь 24, 2015, 10:05 »

окно перемещается удержанием его за заголовок. События происходящие над окном приходили и раньше все.
Записан
Bepec
Гость
« Ответ #7 : Октябрь 24, 2015, 10:58 »

Заголовок управляется менеджером рабочего стола ОС. Если хотите, можете сами рисовать заголовок и тогда реагировать сможете в реалтайме.

Хм, вроде в винде при перетаскивании за заголовок основной поток программы останавливается. По крайней мере на ХР такое что то было.

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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