Перехват событий QWidget, Определение событий мыши и клавиатуры без переопределения методов |
Здравствуйте, гость ( Вход | Регистрация )
Перехват событий QWidget, Определение событий мыши и клавиатуры без переопределения методов |
maksimus1210 |
3.3.2013, 9:29
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 3.3.2013 Пользователь №: 3733 Спасибо сказали: 0 раз(а) Репутация: 0 |
Приветствую всех! Интересует один вопрос, поясню на примере: на форме есть кнопка QPushButton, мне нужно регистрировать события нажатия этой кнопки и отжатия, причём нужно получить указатель на QMouseEvent передаваемый в класс QPushButton. Это нужно для ведения логфайла. Жду помощи!
|
|
|
maksimus1210 |
3.3.2013, 10:01
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 3.3.2013 Пользователь №: 3733 Спасибо сказали: 0 раз(а) Репутация: 0 |
Пока смог сделать только с переопределением методов, выглядит это так:
Задачу мою такой способ решает, но не хочется создавать класс наследник. |
|
|
ilyabvt |
3.3.2013, 10:43
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Можно сделать через EventFilter.
Event Filters QObject::eventFilter QObject::installEventFilter Сообщение отредактировал ilyabvt - 3.3.2013, 10:44 |
|
|
maksimus1210 |
3.3.2013, 12:39
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 3.3.2013 Пользователь №: 3733 Спасибо сказали: 0 раз(а) Репутация: 0 |
Да, спасибо, я как раз наткнулся на Статья по использованию QEventFilter статью по этому поводу. Конечно хотелось обойтись без классов потомков, но видимо, что без них никак.
|
|
|
RazrFalcon |
3.3.2013, 14:33
Сообщение
#5
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
При использовании EventFilter потомки не нужны.
Нужно просто this->installEventFilter(button); а затем в этом же классе обрабатывать события кнопки. |
|
|
Алексей1153 |
3.3.2013, 22:33
Сообщение
#6
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
RazrFalcon, только там наоборот
monitoredObj->installEventFilter(filterObj); аргумент - это фильтратор |
|
|
Текстовая версия | Сейчас: 23.11.2024, 19:53 |