Как остановить распространение мыши и всех событий родительскому элементу, но разрешить события компонентам и их дочерни ⇐ C++
Как остановить распространение мыши и всех событий родительскому элементу, но разрешить события компонентам и их дочерни
класс PageGroupHandler: public QQuickWidget { Q_OBJECT публика: Обработчик Группы страниц(); защищено: bool eventFilter(QObject *obj, QEvent *event); }; PageGroupHandler::PageGroupHandler() : QQuickWidget(QUrl("qrc:/custom/qml/PagesGroups/PageManager.qml")) { это->installEventFilter(это); } bool PageGroupHandler::eventFilter(QObject *obj, QEvent *event) { if (obj == this || obj->parent() == this) { вернуть QObject::eventFilter(obj, event); } вернуть истину; } ПРИМЕЧАНИЕ. Ошибки нет. Я загрузил компонент qml, у него есть некоторые прямоугольные компоненты, у некоторых есть событие мыши, у некоторых нет, поэтому, когда я прокручиваю его, события работают, но когда нет области прокрутки, родительский элемент, который сам является областью прокрутки, начинает прокручиваться, это довольно странно .
класс PageGroupHandler: public QQuickWidget { Q_OBJECT публика: Обработчик Группы страниц(); защищено: bool eventFilter(QObject *obj, QEvent *event); }; PageGroupHandler::PageGroupHandler() : QQuickWidget(QUrl("qrc:/custom/qml/PagesGroups/PageManager.qml")) { это->installEventFilter(это); } bool PageGroupHandler::eventFilter(QObject *obj, QEvent *event) { if (obj == this || obj->parent() == this) { вернуть QObject::eventFilter(obj, event); } вернуть истину; } ПРИМЕЧАНИЕ. Ошибки нет. Я загрузил компонент qml, у него есть некоторые прямоугольные компоненты, у некоторых есть событие мыши, у некоторых нет, поэтому, когда я прокручиваю его, события работают, но когда нет области прокрутки, родительский элемент, который сам является областью прокрутки, начинает прокручиваться, это довольно странно .
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение