文件对话框QML类型
原生的文件对话框。更多...
导入语句 | import Qt.labs.platform |
继承 |
属性
- acceptLabel : 字符串
- currentFile : url
- currentFiles : 列表
- defaultSuffix : 字符串
- file : url
- fileMode : 枚举
- files : 列表
- folder : url
- nameFilters : 列表
- options : 标志
- rejectLabel : 字符串
- selectedNameFilter
- selectedNameFilter.extensions : 列表
- selectedNameFilter.index : int
- selectedNameFilter.name : 字符串
- selectedNameFilter.extensions : 列表
详细描述
FileDialog类型提供了原生平台文件对话框的QML API。
要显示文件对话框,构造FileDialog实例,设置所需的属性,然后调用open()。可以使用currentFile或currentFiles属性来确定对话框中当前选定的文件。只有在接受对话框时,才会更新file和files属性。
MenuItem { text: "Open..." onTriggered: fileDialog.open() } FileDialog { id: fileDialog currentFile: document.source folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation) } MyDocument { id: document source: fileDialog.file }
可用性
当前以下平台上可用原生平台文件对话框
- Android
- iOS
- Linux(当使用GTK+平台主题时运行)
- macOS
- Windows
Qt Labs Platform模块在未提供原生实现的平台上使用Qt Widgets作为后备。因此,应将使用Qt Labs平台模块的类型的应用程序链接到QtWidgets并使用QApplication而不是QGuiApplication。
要链接到QtWidgets库,请将以下内容添加到您的qmake项目文件中
QT += widgets
在 main()
中创建一个 QApplication 实例。
#include <QApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); return app.exec(); }
注意:Qt.labs 模块中的类型未来版本不保证兼容性。
另请参阅:FolderDialog 和 StandardPaths。
属性文档
acceptLabel : string |
此属性包含显示在接受对话框按钮上的标签文本。
当设置为空字符串时,使用底层平台的默认标签。默认标签通常是 打开 或 保存,具体取决于对话框使用的哪个 fileMode。
默认值为空字符串。
另请参阅:rejectLabel。
currentFile : url |
此属性包含当前在对话框中选定的文件。
与 file 属性不同,当用户正在对话框中选择文件时,currentFile
属性会被更新,甚至在最终选择完成之前。
另请参阅:file 和 currentFiles。
此属性包含当前在对话框中选定的文件。
与 files 属性不同,当用户正在对话框中选择文件时,currentFiles
属性会被更新,甚至在最终选择完成之前。
另请参阅:files 和 currentFile。
defaultSuffix : string |
此属性包含添加到未指定后缀的选定文件的后缀。后缀通常用于指示文件类型(例如,“txt”表示文本文件)。
如果第一个字符是点('.'),则将其删除。
file : url |
此属性包含最终接受的文件。
与 currentFile 属性不同,file
属性在用户在对话框中选择文件时不会更新,只会在最终选择完成之后更新。也就是说,当用户单击 OK 以接受文件时。或者,可以处理 accepted() 信号以获取最终选择。
另请参阅:currentFile 和 accepted。
fileMode : enumeration |
此属性包含对话框的模式。
有效值
常量 | 描述 |
---|---|
FileDialog.OpenFile | 对话框用于选择现有文件(默认)。 |
FileDialog.OpenFiles | 对话框用于选择多个现有文件。 |
FileDialog.SaveFile | 对话框用于选择任何文件。文件不必存在。 |
此属性包含最终接受的文件。
与 currentFiles 属性不同,当用户在对话框中选择文件时,files
属性不会更新,只有当最终选择完成时才会更新。也就是说,当用户点击 OK 确认文件选择后。另外,也可以处理 accepted() 信号以获取最终选择。
另请参阅 currentFiles 和 accepted。
folder : url |
该属性保存文件被选择的文件夹。选择文件夹时,请使用 FolderDialog 而不是 FileDialog。
另请参阅 FolderDialog。
该属性包含了限制可选择文件类型的过滤器。
FileDialog { nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"] }
注意: *.* 不是一个可移植的过滤器,因为操作系统上关于文件扩展名决定文件类型的假设并不一致。有可能存在没有点的文件名(例如,Makefile
)。在原生的 Windows 文件对话框中,*.* 会匹配此类文件,而其他类型的文件对话框可能不会。因此,如果你想选择任何文件,最好使用 *。
另请参阅 selectedNameFilter。
options : flags |
该属性包含了影响对话框外观和感觉的选项。
默认情况下,所有选项都禁用。
应该在与对话框显示之前设置这些选项。当对话框可见时设置它们,保证对话框会立即受到影响是不确定的(取决于选项和平台)。
可用选项
常量 | 描述 |
---|---|
FileDialog.DontResolveSymlinks | 在文件对话框中不解析符号链接。默认情况下,符号链接会被解析。 |
FileDialog.DontConfirmOverwrite | 如果选择了一个现有的文件,则不请求确认。默认情况下,请求确认。 |
FileDialog.ReadOnly | 指示对话框不允许创建目录。 |
FileDialog.HideNameFilterDetails | 指示是否隐藏文件名过滤器细节。 |
rejectLabel : string |
此属性 Holding the label text shown on the button that rejects the dialog。
当设置为空字符串时,使用底层平台的默认标签。默认标签通常是 取消。
默认值为空字符串。
另请参阅 acceptLabel。
这些属性保存当前所选的名字过滤器。
名称 | 描述 |
---|---|
index : int | 此属性决定了哪个 name filter 被选中。当对话框打开时,将选择指定的过滤器。当用户选择另一个过滤器时,该值将更新。 |
[只读] name : string | 此属性保存所选过滤器的名称。在下面的示例中,第一个过滤器的名称是 "文本文件" ,第二个是 "HTML 文件" 。 |
[只读] extensions : list<string> | 该属性包含选定筛选器的扩展列表。例如,下面的第一筛选器的扩展列表是["txt"] ,第二筛选器是["html", "htm"] 。 |
FileDialog { id: fileDialog selectedNameFilter.index: 1 nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"] } MyDocument { id: document fileType: fileDialog.selectedNameFilter.extensions[0] }
另请参阅 nameFilters。
© 2024 Qt公司 Ltd. 本文档中的文档贡献版权归各自所有者所有。提供的文档受GNU自由文档许可证版本1.3的条款约束,该许可证由自由软件基金会发布。Qt及其相关标志是芬兰以及/或在其他国家的Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。