FileDialog QML Type
文件对话框。更多
Import Statement: | import QtQuick.Dialogs |
Since: | Qt 6.2 |
Inherits: |
属性
- acceptLabel : string
- currentFolder : url
- defaultSuffix : string
- fileMode : enumeration
- nameFilters : list<string>
- options : flags
- rejectLabel : string
- selectedFile : url
- selectedFiles : list<url>
- selectedNameFilter
- selectedNameFilter.extensions : list<string>
- selectedNameFilter.globs : list<string>
- selectedNameFilter.index : int
- selectedNameFilter.name : string
详细说明
FileDialog 类型为文件对话框提供了 QML API。
要显示文件对话框,只需构建 FileDialog 的实例、设置所需的属性并调用open() 即可。currentFolder 属性可用于确定打开对话框的文件夹。selectedFile 和selectedFiles 属性可用于确定对话框打开时选择的文件,当用户在对话框中选择文件和接受对话框时,这两个属性也会更新。
import QtCore import QtQuick import QtQuick.Controls import QtQuick.Dialogs ApplicationWindow { width: 640 height: 480 visible: true header: ToolBar { Button { text: qsTr("Choose Image...") onClicked: fileDialog.open() } } Image { id: image anchors.fill: parent fillMode: Image.PreserveAspectFit } FileDialog { id: fileDialog currentFolder: StandardPaths.standardLocations(StandardPaths.PicturesLocation)[0] onAccepted: image.source = selectedFile } }
可用性
本机平台文件对话框目前在以下平台上可用:
- 安卓
- iOS
- Linux(使用 GTK+ 平台主题运行时)
- MacOS
- Windows
Qt Quick Dialogs 在没有本地实现的平台上,使用 实现作为备用。Qt Quick
另请参阅 FolderDialog 和StandardPaths 。
属性文档
acceptLabel : string |
该属性用于保存接受对话框的按钮上显示的标签文本。
当设置为空字符串时,将使用底层平台的默认标签。默认标签通常为Open 或Save ,具体取决于对话框在哪个fileMode 中使用。
默认值为空字符串。
另请参阅 rejectLabel 。
currentFolder : url |
该属性用于保存选择文件的文件夹。设置该属性可控制打开对话框时显示的初始目录。
要选择文件夹,请使用FolderDialog 。
defaultSuffix : string |
该属性包含一个后缀,会添加到未指定后缀的选定文件中。后缀通常用于表示文件类型(例如,"txt "表示文本文件)。
如果第一个字符是点('.'),则会被删除。
fileMode : enumeration |
该属性表示对话框的模式。
可用值:
常量 | 说明 |
---|---|
FileDialog.OpenFile | 对话框用于选择一个现有文件(默认)。 |
FileDialog.OpenFiles | 对话框用于选择多个现有文件。 |
FileDialog.SaveFile | 对话框用于选择任何文件。文件不一定存在。 |
该属性包含限制可选择文件类型的筛选器。
FileDialog { nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"] }
不同的平台可能会以不同的方式限制可选择的文件。例如,macOS 会禁用与筛选器不匹配的文件条目,而 Windows 则会隐藏它们。
注意: *.*并非可移植的筛选器,因为文件扩展名决定文件类型的历史假设在每个操作系统上都不一致。文件名中可能没有点(例如Makefile
)。在本地 Windows 文件对话框中,*.*将匹配此类文件,而在其他类型的文件对话框中则可能不匹配。因此,如果要选择任何文件,最好使用*。
另请参阅 selectedNameFilter 。
options : flags |
该属性包含影响对话框外观的各种选项。
默认情况下,所有选项都是禁用的。
应在显示对话框之前设置选项。如果在对话框可见时设置这些选项,则不能保证会立即对对话框产生影响(取决于选项和平台)。
可用选项
常量 | 说明 |
---|---|
FileDialog.DontResolveSymlinks | 不在文件对话框中解析符号链接。默认情况下会解析符号链接。 |
FileDialog.DontConfirmOverwrite | 如果选择了现有文件,则不要求确认。默认情况下要求确认。 |
FileDialog.ReadOnly | 表示对话框不允许创建目录。 |
FileDialog.HideNameFilterDetails | 表示是否隐藏文件名过滤器详细信息。 |
FileDialog.DontUseNativeDialog | 强制对话框使用非本地快速实现。 |
rejectLabel : string |
selectedFile : url |
该属性保存对话框中最后选择的文件。
设置该属性可控制打开对话框时选择的文件。
如果有多个选定文件,该属性指的是第一个文件。
每次用户在对话框中选择文件以及接受对话框时,该属性的值都会更新。处理accepted() 信号以获得最终选择。
另请参阅 selectedFiles 、accepted() 和currentFolder 。
该属性保存对话框中最后选择的文件。
每次用户在对话框中选择文件以及接受对话框时,该属性的值都会更新。处理accepted() 信号可获得最终选择。
另请参阅 accepted() 和currentFolder 。
这些属性保存当前选择的名称过滤器。
名称 | 名称 |
---|---|
index: int | 该属性决定选择哪个name filter 。对话框打开时,指定的过滤器将被选中。当用户选择另一个过滤器时,该值将被更新。 |
[name: string | 此属性用于保存所选过滤器的名称。在下面的示例中,第一个过滤器的名称是"Text files" ,第二个过滤器的名称是"HTML files" 。 |
[只读]extensions: list<string> (扩展名)。 | 此属性包含所选过滤器的扩展名列表。在下面的示例中,第一个过滤器的扩展名列表为["txt"] ,第二个过滤器的扩展名列表为["html", "htm"] 。 |
[只读]globs: list<string | 该属性包含所选过滤器的 globs 列表。在下面的示例中,第一个过滤器的 globs 列表是["*.txt"] ,第二个是["*.html", "*.htm"] 。例如,该属性可与FolderListModel 的nameFilters 属性结合使用。 |
FileDialog { id: fileDialog selectedNameFilter.index: 1 nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"] } MyDocument { id: document fileType: fileDialog.selectedNameFilter.extensions[0] }
另请参阅 nameFilters 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.