在 QML 中使用对话框
Posted
技术标签:
【中文标题】在 QML 中使用对话框【英文标题】:Using dialogs in QML 【发布时间】:2014-05-26 16:42:39 【问题描述】:如果在某个时刻我需要通过调用对话框窗口或类似的东西来获取用户输入怎么办。使用 QML 实现这一点的最佳方法是什么? js中有prompt
的类似物吗?
【问题讨论】:
您的目标是台式机、手机还是 iPad 类型的设备? 这是一个相当广泛的问题,但我认为使用加载器的方法之一会起作用。 qt-project.org/wiki/QML-Application-Structuring-Approaches 【参考方案1】:您可以使用自 Qt 5.3 起提供的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: ")
【讨论】:
实际上,对话框组件甚至在 5.3 之前就可用,尽管处于实验状态。请参阅顶部的行Since: Qt 5.2
。
示例链接已失效。 stuff.mit.edu/afs/athena/software/texmaker_v5.0.2/qt57/doc/… 工作
@PΞDROLUZ 感谢您的关注。已更新链接。以上是关于在 QML 中使用对话框的主要内容,如果未能解决你的问题,请参考以下文章