加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

QML之FileDialog

(2013-11-07 17:18:13)
标签:

qt

qtquickdialogs

filedialog

importqtquick.dialog

分类: QML
    从本地文件系统中选择文件的对话框组件。
    该模块是Qt5.1新添加的。

属性
  • 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。

注:
    技术在于交流、沟通,转载请注明出处并保持作品的完整性。

0

阅读 收藏 喜欢 打印举报/Report
前一篇:Qt之加密算法
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有