如何在不使用MouseArea的情况下更改光标的形状?

时间:2016-01-13 08:41:43

标签: cursor qml qt5 qtquick2 qtquickcontrols

我查看了类似的帖子,但没有多大帮助。

我在QtQuick.Controls.Button中使用QML,当鼠标悬停在按钮上时我无法更改光标形状!我想在不使用MouseArea的情况下实现这一目标。可以做些什么?当我查看文档时,我找不到一个,比如cursorShape属性或类似的。

1 个答案:

答案 0 :(得分:3)

这是一种黑客行为,但您可以通过MouseListener伪私有财产访问Button自己的MouseArea

__behavior

或者,您可以轻松创建自己的改进Button { text: qsTr("Hello World") Component.onCompleted: __behavior.cursorShape = Qt.PointingHandCursor }

Button

请注意,您可能必须明确导入定义import QtQuick 2.3 import QtQuick.Controls 1.2 Button { property alias cursorShape: mouseArea.cursorShape MouseArea { id: mouseArea anchors.fill: parent onPressed: mouse.accepted = false } } 的QML模块,以掩盖Button QtQuick.Controls