如何在 QML 中隐藏光标
Posted
技术标签:
【中文标题】如何在 QML 中隐藏光标【英文标题】:How to hide cursor in QML 【发布时间】:2016-11-26 08:35:48 【问题描述】:我想知道如何在 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++ 端。
【问题讨论】:
#include <QCursor>
这样您就可以在main.cpp
中使用您的第一个代码
【参考方案1】:
您可以使用禁用的覆盖MouseArea
来隐藏它:
Button
onClicked: console.log("clicked")
MouseArea
anchors.fill: parent
enabled: false
cursorShape: Qt.BlankCursor
只需将鼠标区域放在main.qml
的底部,它将对事件透明,但仍会覆盖光标形状。
【讨论】:
仅在我移动鼠标时有效,当应用程序在左上角启动时仍然可以看到它(Raspberry Pi)【参考方案2】:你应该在 main.cpp 中包含 QCursor 并调用
QGuiApplication::setOverrideCursor(QCursor(Qt::BlankCursor));
【讨论】:
以上是关于如何在 QML 中隐藏光标的主要内容,如果未能解决你的问题,请参考以下文章