Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: qtkoder777 от Апрель 06, 2017, 13:44



Название: Как сделать installEventFilter для класса, где перегружен eventFilter (QT 4.8)?
Отправлено: qtkoder777 от Апрель 06, 2017, 13:44
В таком случае installEventFilter ничего не делает.
Может как-то можно временно отключить свой eventFilter?


Название: Re: Как сделать installEventFilter для класса, где перегружен eventFilter (QT 4.8)?
Отправлено: maksimAstraLin от Сентябрь 01, 2017, 16:54
Если я правильно понимаю, что написано вот здесь:
http://doc.qt.io/qt-4.8/qobject.html#installEventFilter

То в своем классе Вы переопределяете функцию
Код:
bool QObject::eventFilter(QObject * watched, QEvent * event)
Затем, например, в конструкторе своего класса, Вы указываете события каких объектов QObject * watched будут отслеживаться Вашим фильтром eventFilter(). Для этого как раз используется функция void QObject::installEventFilter(QObject * filterObj), вызываемая для каждого отслеживаемого объекта.
Например, в этом случае:
Код:
pushButton->installEventFilter( this )
Функция this->eventFilter(watched, event) будет срабатывать каждый раз, когда объект pushButton получит какое-нибудь событие.


Название: Re: Как сделать installEventFilter для класса, где перегружен eventFilter (QT 4.8)?
Отправлено: Bepec от Сентябрь 02, 2017, 19:23
Вы пытаетесь в один класс 2 event фильтра поставить?