8

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

我正在使用QtQuick.Controls.ButtonQML当鼠标悬停在按钮上时,我无法更改光标形状!我想在不使用MouseArea. 可以做什么?当我查看文档时,我找不到,比如说,cursorShape财产或类似的东西。

4

1 回答 1

11

这是一种 hack,但您可以通过伪私有属性访问Button's own 。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.Button

于 2016-01-13T09:26:47.397 回答