如何在QML中隐藏光标

How to hide cursor in QML

我想知道如何在 QML、QT 5.7 中隐藏光标。

我尝试使用

QGuiApplication::setOverrideCursor(QCursor(Qt::BlankCursor));

app.setOverrideCursor( QCursor( Qt::BlankCursor ) );

但是两者都不行。

/home/QTProjects/main.cpp:13: error: invalid use of incomplete type 'class QCursor'
     QGuiApplication::setOverrideCursor(QCursor(Qt::BlankCursor));
                                                               ^

如果可能的话,我可以在 QML 中而不是在 C++ 端隐藏光标。

您可以使用禁用的叠加层 MouseArea 来隐藏它:

  Button {
    onClicked: console.log("clicked")
  }

  MouseArea {
    anchors.fill: parent
    enabled: false
    cursorShape: Qt.BlankCursor
  }

只需将鼠标区域放在 main.qml 的底部,它将对事件透明,但仍会覆盖光标形状。

您应该将 QCursor 包含到 main.cpp 中并调用

QGuiApplication::setOverrideCursor(QCursor(Qt::BlankCursor));