我正在用QML构建一个对话框.我有一些TextField,但我希望如果用户按下enter(accepted发出信号),id: okButton按下,实际上在视觉上激活它片刻.
我看到该pressed属性是只读的.
谢谢!
小智 11
您只需调用clicked()信号即可模拟按下按钮:
Keys.onReturnPressed: {
clicked()
event.accepted = true
}
Run Code Online (Sandbox Code Playgroud)
您可以checkable在使用以下属性模拟点击时使其持续时间较短checked:
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
}
}
}
Run Code Online (Sandbox Code Playgroud)
accepted()从信号的文档中TextField:
当按下 Return 或 Enter 键时会发出此信号。
| 归档时间: |
|
| 查看次数: |
5422 次 |
| 最近记录: |