加粗样式# 一、介绍
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])
}
}
}
}