2016-01-13 57 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

黑客的作品!謝謝! –

相關問題