属性
fileUrl : url
fileUrls : list
folder : url
modality : Qt::WindowModality
nameFilters : list
selectExisting : bool
selectFolder : bool
selectMultiple : bool
selectedNameFilter : string
title : string
visible : bool
方法
void close()
void open()
详细描述
文件对话框提供了一个基本的文件选择:它允许用户选择存在的的文件和/或目录,或者创建新的文件名。 该对话框最初是不可见的。首先需要 设置任意的 属性,然后设置visible为true或调用open()方法。
这里是一个小例子,打开一个文件对话框,用户选择一个文件后退出:
import QtQuick 2.1
import QtQuick.Dialogs 1.0
FileDialog {
id: fileDialog
title: "Please choose a file"
onAccepted: {
console.log("You chose: " + fileDialog.fileUrls)
Qt.quit()
}
onRejected: {
console.log("Canceled")
Qt.quit()
}
Component.onCompleted: visible = true
}
一个FileDialog窗口自动瞬态它的父窗口。所以,不管在项目内声明里面的窗口内声明对话框,对话框将居中出现在声明的项目或窗口中。
如果可能, FileDialog的应用将是一个平台的颜色对话框。如果这不可能,那么它会尝试实例化一个QFileDialog。如果那也不可能,那么它将依赖QML应用,DefaultFileDialog.qml 。在这种情况下,你可以自定义外观,编辑这个文件。 DefaultFileDialog.qml 包含一个矩形来保持对话框的内容,因为某些嵌入式系统中不支持多个顶层窗口。当对话变得可见时,它会自动被包裹在一个窗口中, 如果只能有一个窗口,则简单地出现在主窗口的顶部。
属性文档
fileUrl : url
这是由用户选择的文件的路径。
注意:只有当一个文件被选中此属性才被设置,其他情况,将是空。
fileUrls : list
由用户选择的文件的路径列表。
folder : url
当前选定的文件夹的路径。之前调用的open()来设置此属性将导致文件浏览器最初定位在指定的文件夹中。
关闭对话框后,此属性的值也被更新。
默认情况下,此属性为false。
modality : Qt::WindowModality
对话框对于其父窗口是否应该显示模态对话框。
默认是Qt.WindowModal。
模态并不意味着有任何阻塞调用等待被接受或拒绝的对话框,它只是阻止用户与父窗口或应用程序窗口同时交互。
nameFilters : list
被用来作为文件名过滤器的字符串列表。每个字符串可以是空格分隔的列表中的过滤器,过滤器可能包括?和*通配符。筛选器列表也可以被括在括号中的文字描述的过滤器提供。
例如:
FileDialog {
nameFilters: [ "Image files (*.jpg *.png)", "All files (*)" ]
}
注:目录不包括过滤器。
selectExisting : bool
是否只有现有的文件或目录可以被选择。
默认情况下,此属性为true。此属性必须设置为所需的值,然后再打开对话框。将此属性设置为false,意味着对话框命名文件要保存的东西,或者要创建一个文件夹命名,因此selectMultiple是false。
selectFolder : bool
是否选择的应该是一个文件夹。
默认情况下,此属性为false。此属性必须设置为所需的值,然后再打开对话框。将此属性设置为true意味着selectMultiple是false,并且selectExisting是true。
selectMultiple : bool
是否可以选择一个以上的文件名。
默认情况下,此属性为false。此属性必须设置为所需的值,然后再打开对话框。将此属性设置为true意味着selectExisting为true。
selectedNameFilter : string
当前选定的是哪一个nameFilters。
这个属性可以在对话框可见之前设置,设置默认名称的过滤器,也可以在对话框可见设置当前名称过滤器时设置。当用户选择了一个不同的过滤器它也会被更新。
title : string
对话框标题。
visible : bool
这个属性确定对话框是否可见。默认为false。
方法文档
void close()
关闭对话框。
void open()
显示对话框给用户。相当于设置visible为true。