我正在QML中构建对话框。我有一些
我看到
谢谢!
TextField
,但是如果用户按下enter(发出accepted
信号),我希望id: okButton
被按下,实际上会在视觉上激活它一段时间。我看到
pressed
属性只读。谢谢!
您可以简单地调用clicked()信号以模拟按钮按下:
Keys.onReturnPressed: {
clicked()
event.accepted = true
}
可勾选
,以便在短时间内完成操作并使用已勾选
属性。import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
ApplicationWindow {
title: qsTr("Hello World")
width: 640
height: 480
visible: true
Timer {
id: timer
running: true
repeat: true
interval: 100
onTriggered: {
button.checked = false;
button.checkable = false;
}
}
Row {
TextField {
anchors.verticalCenter: parent.verticalCenter
onAccepted: {
button.checkable = true;
button.checked = true;
timer.start();
}
}
Button {
id: button
text: "Submit"
anchors.verticalCenter: parent.verticalCenter
}
}
}
从TextField
的accepted()
信号的文档中:
当用户按下回车键或者Enter键时,会触发该信号。