QWaylandQuickShellIntegration Class
QtQuick とのシェル・サーフェス統合のサポートを提供します。詳細...
Header: | #include <QWaylandQuickShellIntegration> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor) target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor) |
qmake: | QT += waylandcompositor |
Inherits: | 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()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。