2016-01-13 36 views
2

我查看了类似的线程,但没有多大帮助。如何在不使用MouseArea的情况下更改光标的形状?

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

+2

向Qt提交补丁以添加属性新需求? ;-) – peppe

回答

2

这是一种破解,但您可以通过__behavior伪私有财产访问Button自己的MouseArea

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

请注意,您可能需要显式导入,你为了掩盖QtQuick.Controls定义Button的QML模块的Button

+1

黑客的作品!谢谢! –

相关问题