Ruslan Skaldin
Ruslan Skaldin

Reputation: 1101

How to hide cursor in QML

I wonder how to hide cursor in QML, QT 5.7.

I tried to use

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

and

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

But both doesn't work.

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

And if it possible can I hide cursor within QML not on C++ side.

Upvotes: 9

Views: 6185

Answers (2)

Mehdi Farhadi
Mehdi Farhadi

Reputation: 41

you should include QCursor into main.cpp and call

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

Upvotes: 4

dtech
dtech

Reputation: 49329

You can use a disabled overlay MouseArea to hide it:

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

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

Just put the mouse area in the bottom of your main.qml, it will be transparent to events but still override the cursor shape.

Upvotes: 12

Related Questions