Spec-Zone.ru › Qt 6.0

Класс QWaylandQuickShellIntegration

Обеспечивает поддержку интеграции поверхности оболочки с QtQuick. Подробнее...

Заголовок: #include <QWaylandQuickShellIntegration>
CMake: find_package(Qt6 COMPONENTS Waylandcompositor REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Waylandcompositor)
qmake: QT += waylandcompositor
С момента: Qt 5.14
Наследует: QObject
  • Список всех членов, включая унаследованные

Подробное описание

Реализации поверхностей оболочки должны наследоваться от этого класса для обеспечения интеграции между поверхностью оболочки и QtQuick.

Интеграция оболочки устанавливается как фильтр событий для QWaylandQuickShellSurfaceItem. Переопределите метод фильтра событий и верните true при необходимости отфильтровать событие, в противном случае верните false.

Пример:

class MyShellIntegration : public QWaylandQuickShellIntegration
{
    Q_OBJECT
public:
    MyShellIntegration(QObject *parent = nullptr);

protected:
    bool eventFilter(QObject *object, QEvent *event) override;
};

MyShellIntegration::MyShellIntegration(QObject *parent)
    : QWaylandQuickShellIntegration(parent)
{
}

bool MyShellIntegration::eventFilter(QObject *object, QEvent *event)
{
    QWaylandQuickShellSurfaceItem *shellSurfaceItem = qobject_cast<QWaylandQuickShellSurfaceItem *>(object);
    if (!shellSurfaceItem)
        return QWaylandQuickShellIntegration::eventFilter(object, event);

    if (event->type() == QEvent::MouseMove) {
        QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);
        qDebug() << "Mouse moved on" << shellSurfaceItem << "pos:" << mouseEvent->pos();
        return true;
    }

    return QWaylandQuickShellIntegration::eventFilter(object, event);
}

См. также QWaylandQuickShellSurfaceItem и QObject::eventFilter().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qwaylandquickshellintegration.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API