如何在不使用 MouseArea 的情况下更改光标的形状?
How to change the cursor's shape without using MouseArea?
我查看了类似的帖子,但没有太大帮助。
我在 QML
中使用 QtQuick.Controls.Button
,当鼠标悬停在按钮上时我无法更改光标形状!我想在不使用 MouseArea
的情况下实现这一点。可以做什么?当我查看文档时,我找不到 cursorShape
属性 或类似的。
这有点骇人听闻,但您可以通过 __behavior
pseudo-private 属性.[= 访问 Button
自己的 MouseArea
19=]
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
}
}
请注意,您可能必须显式导入定义 Button
的 QML 模块,以掩盖 QtQuick.Controls
的 Button
。
我查看了类似的帖子,但没有太大帮助。
我在 QML
中使用 QtQuick.Controls.Button
,当鼠标悬停在按钮上时我无法更改光标形状!我想在不使用 MouseArea
的情况下实现这一点。可以做什么?当我查看文档时,我找不到 cursorShape
属性 或类似的。
这有点骇人听闻,但您可以通过 __behavior
pseudo-private 属性.[= 访问 Button
自己的 MouseArea
19=]
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
}
}
请注意,您可能必须显式导入定义 Button
的 QML 模块,以掩盖 QtQuick.Controls
的 Button
。