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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: mousePressEvent  (Прочитано 5479 раз)
vux
Гость
« : Июль 29, 2010, 18:58 »

вешаю mousePressEvent на виджэт, в котором есть другие элементы.
мой эвент срабатывает понятное дело на пустом месте виджэта и на некоторых элементах.
Мне нада чтоб срабатывало и на детях а не только на виджэте - то есть во всем четырехугольнике виджэта.
Записан
vux
Гость
« Ответ #1 : Июль 29, 2010, 19:27 »

Обычно для этих целей используют QShortcut c Qt::ShortcutContext Qt::WidgetWithChildrenShortcut

а причем тут шорткаты к мышэ? Непонимающий
Записан
SABROG
Гость
« Ответ #2 : Июль 29, 2010, 20:23 »

Обычно для этих целей используют QShortcut c Qt::ShortcutContext Qt::WidgetWithChildrenShortcut

а причем тут шорткаты к мышэ? Непонимающий

Пардон померещелось keyPressEvent.

Цитировать
то есть во всем четырехугольнике виджэта.
У дочерних виджетов может быть своя реакция на нажатие клавиш мыши, виджет решает хочет ли он передавать информацию о клике выше к родителю или нет. Есть только один выход - вызвать QObject::installEventFilter на каждом ребенке рекурсивно и не забыть вызвать для них оригинальные обработчики событий, чтобы контролы смогли нормально функционировать.
« Последнее редактирование: Июль 29, 2010, 20:30 от SABROG » Записан
vux
Гость
« Ответ #3 : Июль 29, 2010, 21:24 »

Понятно, впринцыпе так и думал Улыбающийся
Записан
vux
Гость
« Ответ #4 : Июль 29, 2010, 21:35 »

Хорошо возьмем тотжэ виджет с детьми.

Ему выставляю setMouseTracking(True), ставлю ему фильтр на mouseMoveEvent - в пустом месте работает как и положэно

На детях которые разрешают ему влиять на них работает с нажатой кнопкой - то есть у них неустановлен mouseTracking.
По логике рекурсивно ( widget.children() ) ставлю им setMouseTracking(True) - но они серавно реагируют только на перемещение с нажатой кнопкой.

Хочу просто понять почему?
Записан
SABROG
Гость
« Ответ #5 : Июль 30, 2010, 12:09 »

Хочу просто понять почему?
Об этом написано в документации, но почему так там не объясняется.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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