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

10

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

我正在使用QML中的QtQuick.Controls.Button,当鼠标悬停在按钮上时,无法更改光标形状! 我想实现这一点而不使用MouseArea。 有什么办法吗? 当我查看文档时,我找不到类似于cursorShape属性或类似的东西。


3
您想提交一个Qt的补丁来添加新属性吗?;-) - peppe
1个回答

14

这有点像一个hack,但是你可以通过__behavior伪私有属性访问ButtonMouseArea

Button {
    text: qsTr("Hello World")
    Component.onCompleted: __behavior.cursorShape = Qt.PointingHandCursor
}

另外,您可以非常轻松地创建自己改进的按钮

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
    }
}

请注意,您可能需要明确导入定义


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接