如果在某个时刻我需要通过调用对话框窗口或类似的东西来获取用户输入。使用QML实现此目的的最佳方法是什么? js中prompt
的任何类似物?
答案 0 :(得分:1)
您可以使用自{Qt 5.2 以来的Dialog,,并根据需要自定义它。 确保您已安装此版本并正常运行。
Here你可以找到例子。
另外,请看一下我准备的小例子:
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Dialogs 1.2
ApplicationWindow {
visible: true
width: 320
height: 240
title: qsTr("Custom Dialog")
Dialog {
id: customDialog
title: "Custom Dialog in QML/Qt 5.3"
standardButtons: StandardButton.Ok | StandardButton.Cancel
Column {
anchors.fill: parent
Text {
text: "Here goes all your custom elements..."
}
TextInput {
id: edtInput
text: "Input text"
}
}
onButtonClicked: {
if (clickedButton==StandardButton.Ok) {
console.log("Accepted " + clickedButton)
lblResults.text += edtInput.text
} else {
console.log("Rejected" + clickedButton)
}
}
}
Column {
anchors.fill: parent
Button {
text: qsTr("Call Custom dialog")
onClicked: customDialog.open()
}
Text {
id: lblResults
text: qsTr("Results: ")
}
}
}