如何在QML

时间:2016-11-26 08:35:48

标签: c++ qt qml qtquick2

我想知道如何在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 ++端。

2 个答案:

答案 0 :(得分:7)

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

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

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

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

答案 1 :(得分:2)

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

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