QML类型说明-FileDialog

FileDialog

ImportStatement:   import QtQuick.Dialogs 1.1

Since:  Qt 5.1

 

Properties

fileUrl :url

fileUrls :list<url>

folder : url

modality :Qt::WindowModality

nameFilters: list<string>

selectExisting: bool

selectFolder: bool

selectMultiple: bool

selectedNameFilter: string

title :string

visible :bool

 

Methods

void close()

void open()

 

DetailedDescription

FileDialog提供基本的文件选择。它允许我们选择一个现有的文件或目录,或者创建一个新文件。窗口一开始是不可见的。我们必须根据需要首先设置属性,然后调用open()或设置visible为真,才能看到窗口。

下面是打开一个窗口并在用户选择文件之后结束的代码:

importQtQuick 2.2

importQtQuick.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,窗口都将出现在包含组件的窗口的中间或我们宣布的窗口的中间。如果可能,FileDialog将是平台的文件选择窗口,如果没有,则是QFileDialog的实例,如果还没有,则是QML的实现。QML的实现文件是DefaultFileDialog.qml。在这种情况下,我们可通过编辑这个文件定制文件选择窗口的内容。一些平台不支持多个顶层窗口,在这种情况下,如果文件选择窗口可见,它将自动包含在顶层窗口中。如果平台只支持一个窗口,它将替换成为顶层窗口。

 

PropertyDocumentation

fileUrl :url

比用户选择的文件路径的URL。

注意:只有一个文件被选中时,这个属性被设置,其他的情况下,它是空的。

 

fileUrls :list<url>

用户选择的文件路径的URL的列表。

 

folder : url

当前选择的文件夹的URL。在open()调用之前设置这个属性,将促使文件选择窗口浏览到我们指定的位置。就是在我们设置的路径下选择文件。这个属性在我们关闭窗口的时候,会更新。默认为空。

 

modality :Qt::WindowModality

窗口的模态。模态窗口指用户在采取有效的关闭手段之前,只能在该窗口操作。非模态窗口指用户可以切换到其他窗口操作。默认非模太。模态不意味着在模态窗口关闭之前,其他窗口式阻塞的。它仅仅指用户不能同时操作其他窗口。在MacOS中,颜色窗口只能是非模太的。另外,我们可能需要编写onAccepted处理来加载或保存选择的文件。

 

nameFilters: list<string>

过滤器列表。过滤器列表中的过滤器能被空格分隔。过滤可以包含“?”和“*”通配符。过滤列表能封闭在括号里,同时提供过滤得文档描述。

例如:

FileDialog {

    nameFilters: [ "Image files (*.jpg*.png)", "All files (*)" ]

}

注意:目录不能过滤。

 

selectExisting: bool

是否只有存在的文件或目录能被选择。默认为真。这个属性必须在窗口打开前设置成需要的值。设置这个属性为假意味着窗口可为了保存一些东西命名新文件,或创建新的文件夹。此时selectMultiple必须是假。

 

selectFolder: bool

选择是否是文件夹。默认为假。这个属性必须在窗口打开前设置成需要的值。设置这个属性为假意味着selectMultiple必须是假而selectExisting必须为真。

 

selectMultiple: bool

是否允许选择多于一个文件。默认为假。这个属性必须在窗口打开前设置成需要的值。设置这个属性为真意味着selectExisting必须为真。

 

selectedNameFilter: string

当前选择nameFilters中的那个过滤器。这个属性能在窗口打开前设置,这是设置窗口的默认过滤器。它也能在窗口打开后设置,这将用新的过滤器刷新用户选择窗口。

 

title :string

窗口的标题。

 

visible :bool

窗口是否可见(打开)。默认为假。

 

MethodDocumentation

void close()

关闭窗口。

 

void open()

展现窗口给用户,等效于设置visible为真。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
qmlFileDialog是QtQuick.Dialogs模块的一个组件,用于在QML界面显示文件对话框,以便用户选择文件或保存文件。要在qml使用FileDialog,首先需要导入QtQuick.Dialogs模块,可以通过以下方式导入:import QtQuick.Dialogs 1.2。然后可以在qml文件使用FileDialog组件,例如: ```qml import QtQuick.Dialogs 1.2 FileDialog { id: fileDialog title: "选择文件" folder: "/" nameFilters: ["文本文件 (*.txt)", "所有文件 (*)"] onAccepted: { // 用户点击了确定按钮,可以在这里处理选择文件 } onRejected: { // 用户点击了取消按钮,可以在这里处理取消操作 } } ``` 在上述例子FileDialog的title属性设置对话框的标题,folder属性设置默认显示的文件夹,nameFilters属性设置文件过滤器,可以限制用户只能选择某些类型文件。当用户点击确定按钮时,会触发onAccepted信号,可以在该信号的处理函数获取选择文件路径进行后续操作。当用户点击取消按钮时,会触发onRejected信号,可以在该信号的处理函数进行取消操作。这样就可以在qml使用FileDialog组件实现文件选择和保存的功能了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [QMLFileDialog](https://blog.csdn.net/qingyulove/article/details/79035586)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [qml使用FileDialog](https://blog.csdn.net/zs1123/article/details/114632886)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值