gpt4 book ai didi

qt - QML:是否可以更改鼠标区域的长持续时间

转载 作者:行者123 更新时间:2023-12-04 20:03:37 24 4
gpt4 key购买 nike

QML 在其 MouseArea 组件中提供 PressAndHold 信号,当鼠标区域被按下“长时间”时
http://doc.qt.io/qt-5/qml-qtquick-mousearea.html#pressAndHold-signal

此持续时间设置为 800 毫秒,我找不到修改此持续时间的方法。
可以做到吗,如果可以,我该怎么做?

谢谢!

最佳答案

如果您会看到 MouseArea源( Src/qtdeclarative/src/quick/items/qquickmousearea.cpp )你会发现这一行:

d->pressAndHoldTimer.start(qApp->styleHints()->mousePressAndHoldInterval(), this);

持续时间值来自 QStyleHints但它是只读的,因为该值是平台指定的。所以你的问题的答案是:“不”,如果你不打算改变来源。

但是您仍然可以模拟此事件,例如:
MouseArea {
property int pressAndHoldDuration: 2000
signal myPressAndHold()
anchors.fill: parent
onPressed: {
pressAndHoldTimer.start();
}
onReleased: {
pressAndHoldTimer.stop();
}
onMyPressAndHold: {
console.log("It works!");
}

Timer {
id: pressAndHoldTimer
interval: parent.pressAndHoldDuration
running: false
repeat: false
onTriggered: {
parent.myPressAndHold();
}
}
}

关于qt - QML:是否可以更改鼠标区域的长持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28729729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com