首页 > 学院 > 开发设计 > 正文

qml之FileDialog

2019-11-08 02:07:40
字体:
来源:转载
供稿:网友

属性

fileUrl : urlfileUrls : listfolder : urlmodality : Qt::WindowModalitynameFilters : listselectExisting : boolselectFolder : boolselectMultiple : boolselectedNameFilter : stringtitle : stringvisible : bool

方法

void close()void open()

详细描述 文件对话框提供了一个基本的文件选择:它允许用户选择存在的的文件和/或目录,或者创建新的文件名。该对话框最初是不可见的。首先需要设置任意的属性,然后设置visible为true或调用open()方法。 这里是一个小例子,打开一个文件对话框,用户选择一个文件后退出:

nameFilters 设置文件的过滤,我们这里支持MP3和wav nameFilters: [ “MP3 files (.mp3)”, “Wave files (.wav)” ]

其他的也可进行别样设置!

onAccepted 用于选中文件通知后的处理

UI结束了,此时这只是个静态的qml文件,我们需要通过一个view将改qml所表示的内容展示出来,这里我们通过QQuickView来实现对qml文件的加载,同时实现窗体的无边框(你可以通过QML Engine来加载qml文件)

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。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表