我想在用户按住按钮时打开上下文菜单(为了方便起见,我使用 Button)。如果我做
Button
{
text: model.ualabel
MouseArea
{
preventStealing: true
anchors.fill: parent
onPressAndHold: uaContextMenu.open()
}
ContextMenu
{
id: uaContextMenu
MenuLayout
{
MenuItem { /**/ }
}
}
}
然后负责 pressAndHold 的 MouseArea 会窃取所有手势,即使无法单击 Button。我究竟做错了什么?我正在使用 Qt 4.7 并导入
QtQuick 1.1
和 com.nokia.meego 1.0
谢谢
最佳答案
我发现可以像这样在 QML 的 Button 上模拟按住:
Button {
id: button
signal pressAndHold()
Timer {
id: longPressTimer
interval: 2000 //your press-and-hold interval here
repeat: false
running: false
onTriggered: {
button.pressAndHold()
}
}
onPressedChanged: {
if ( pressed ) {
longPressTimer.running = true;
} else {
longPressTimer.running = false;
}
}
}
关于qt - 检测按下并按住 QML 中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17857570/