QML FileDialog详解

加粗样式# 一、介绍
          FileDialog是QML中的一个用于文件和目录选择的组件。它提供了一个用户友好的界面,允许用户浏览文件系统,并选择所需的文件或目录。
          使用FileDialog需要先导入Qt.labs.platform模块,然后在QML中创建一个FileDialog对象,并设置相应的属性。在需要调用文件对话框的地方,通过调用open()方法打开对话框,然后通过监听accepted信号来获取用户选择的文件。

二、相关属性

acceptLabel : string:此属性包含接受对话框的按钮上显示的标签文本。
currentFile : url:此属性在对话框中保存当前选定的文件。
currentFiles : list:此属性保存对话框中当前选定的文件
defaultSuffix : string:此属性包含添加到未指定后缀的选定文件
file : url:此属性保存最终接受的文件。
fileMode : enumeration:此属性包含对话框的模式。
files : list:此属性保存最终选择的文件。
folder : url:此属性包含选择文件的文件夹。要选择文件夹,请改用FolderDialog。
nameFilters : list:此属性包含限制可以选择的文件类型的过滤器。
options : flags:此属性包含影响对话框外观的各种选项。
rejectLabel : string:此属性包含取消对话框的按钮上显示的标签文本。
selectedNameFilter:此属性决定选择哪个名称过滤器。
selectedNameFilter.extensions : list
selectedNameFilter.index : int
selectedNameFilter.name : string

三、实例

在这里插入图片描述

import QtQuick
import QtQuick.Controls
import Qt.labs.qmlmodels
import QtQuick.Controls.Basic
import QtQuick.Layouts
import QtQuick.Effects
import Qt.labs.platform


ApplicationWindow {
    id:root
    width: 1000
    height: 730
    visible: true
    title: qsTr("Hello World")

    Button{
        id:btn
        width: 200
        height: 100
        text: "click me"
        onClicked: {
            fileDialog.open()
        }
    }
    TextArea {
        id:text
        width: parent.width
        height: 500
        anchors.top:btn.bottom
        text: qsTr("text")
    }

    FileDialog{
        id:fileDialog
        fileMode: FileDialog.OpenFiles
        nameFilters: ["Files(*.*)"]
        folder: StandardPaths.standardLocations(StandardPaths.MusicLocation)[0]
        acceptLabel: "确定"
        rejectLabel: "取消"

        onAccepted: {
            text.clear()
            for(var index in files){
                console.log(files[index])
                text.append(files[index])
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小灰灰搞电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值