QML之FileDialog

朴灿烈づ我的快乐病毒、 2022-06-02 11:17 1379阅读 0赞

FileDialog是QtQuick中的文件对话框,它可以选择已有的文件,文件夹(可以多选)也可以在保存文件的时候让用户提供名字来创建文件或文件夹。

FileDialog的实现是和平台相关的,如果没有可用的原生文件对话框,则会尝试创建一个QFileDialog,如果失败,怎使用默认的QML对话框。

要想在QtQuick中使用FileDialog,首先我们得导入包吧。。

  1. import QtQuick.Dialogs 1.2

下面让我们看下filedialog都有哪些常用的属性:

title:对话框标题

folder:用户选择的文件目录

selectExisting:选择已有文件或文件夹,默认值为true。当设置为false时候意味着创建文件或者文件夹

selectFolder:表示选择文件,默认值为false。当为true的时候表示选择文件夹

selectMultiple:默认值false,表示单选。为true时表示多选。设置该属性selectExisting的值必须为true

nameFilters:文件过滤列表

fileUrl:选择文件路径

fileUrls:选择文件路径列表

下面看下实例:

  1. Button {
  2. id:openBtn
  3. height: 25
  4. text:qsTr("浏览...")
  5. anchors.leftMargin: 10
  6. onClicked: {
  7. fds.open();
  8. }
  9. }
  10. Label {
  11. id: labels
  12. text: qsTr("")
  13. height: 25
  14. anchors.left:openBtn.right
  15. anchors.leftMargin: 10
  16. }
  17. FileDialog {
  18. id:fds
  19. title: "选择文件"
  20. folder: shortcuts.desktop
  21. selectExisting: true
  22. selectFolder: false
  23. selectMultiple: false
  24. nameFilters: ["json文件 (*.json)"]
  25. onAccepted: {
  26. labels.text = fds.fileUrl;
  27. console.log("You chose: " + fds.fileUrl);
  28. }
  29. onRejected: {
  30. labels.text = "";
  31. console.log("Canceled");
  32. Qt.quit();
  33. }
  34. }

截图:
这里写图片描述

这里写图片描述

log输出:

  1. qml: You chose: file:///C:/Users/liuwenqiang/Desktop/ani/fly2.json
  2. qml: Canceled

发表评论

表情:
评论列表 (有 0 条评论,1379人围观)

还没有评论,来说两句吧...

相关阅读

    相关 QMLImage

    Image控件可以用来显示图片,当然必须是qt支持的图片格式,比如Jpg,Png等等。当然,这里说的图片是静态图片,如果你要显示gif这种格式的图片,那么只能将gif的第一帧显

    相关 QMLButton

    Button控件可以说是最常用的控件之一了,用户点击按钮可能会触发pressed,released,clicked信号,我们可以在qml文档中可以为其指定相应的信号处理器来响应

    相关 qml HelloWorld

    QML是Qt推出的Qt Quick技术的一部分,是一种新增的简便易学的语言。QML是一种陈述性语言,用来描述一个程序的用户界面:无论是什么样子,以及它如何表现。在QML,一个用