QFileDialog 文件对话框

编程入门 行业动态 更新时间:2024-10-23 15:18:22

QFileDialog 文件<a href=https://www.elefans.com/category/jswz/34/1761322.html style=对话框"/>

QFileDialog 文件对话框

文章目录

  • 1、简介
  • 2、公共类型
  • 3、属性
  • 4、functions
    • 1、访问属性相关 function
    • 2、静态公共成员
      • 1、 通过对话框获取用户选择的文件路径:QFileDialog::`getOpenFileName`
      • 2、 通过对话框获取用户选择的文件夹路径:QFileDialog::`getExistingDirectory`
    • 3、Public Functions

QT 官方文档参考地址:.html

1、简介

QFileDialog 类提供了一个允许用户选择文件或目录的对话框,在 PyQt5.QtWidgets 的模块中。

2、公共类型

1、 enum AcceptMode

对话框的接受模式,定义对话框是用于打开还是保存文件。

  • AcceptOpen打开文件
  • AcceptSave保存文件

2、 enum DialogLabel

对话框中的标签,可使用 setLabelText() 设置标签上的文本。

  • LookIn
  • FileName
  • FileType
  • Accept
  • Reject

3、 enum FileMode

此枚举用于指示用户可以在文件对话框中选择什么,即如果用户单击确定,对话框将返回什么。

  • AnyFile:文件名,不管它是否存在。
  • ExistingFile:单个现有文件的名称。
  • Directory:目录的名称。 显示文件和目录。
  • ExistingFiles:零个或多个现有文件的名称。

4、 enum Option

  • ShowDirsOnly只在文件对话框中显示目录。(仅在目录文件模式(Directory)下有效。)
  • DontResolveSymlinks:不解析文件对话框中的符号链接。
  • DontConfirmOverwrite:如果选择了现有文件,则不要求确认。
  • DontUseNativeDialog:不要使用本机文件对话框。
  • ReadOnly:表示模型是只读的。
  • , …,
  • DontUseCustomDirectoryIcons :始终使用默认目录图标。

5、flags Options
保存对话框参数设置

6、enum ViewMode

这个枚举描述了文件对话框的视图模式,即将显示有关每个文件的哪些信息。

  • Detail:显示目录中每个项目的图标、名称和详细信息。
  • List:仅显示目录中每个项目的图标和名称。

3、属性

1、acceptMode(类型:AcceptMode

此属性保存对话框的接受模式,定义对话框是用于打开还是保存文件。
默认情况下,此属性设置为AcceptOpen。

2、defaultSuffix(类型: QString

默认后缀。
此属性指定一个字符串,它将被添加到文件名中。后缀通常用于表示文件类型(例如“txt”表示文本文件)。
如果第一个字符是点 (‘.’),则将其删除。

3、fileMode(类型:FileMode

对话框的文件模式。文件模式定义了用户希望在对话框中选择的项目的数量和类型。
默认为 AnyFile。

4、options (类型:Options

影响对话框外观的各种选项。默认情况下,所有选项都被禁用。
选项应在显示对话框之前设置。

5、supportedSchemes (类型:QStringList

文件对话框应允许导航到的 URL 方案。

6、viewMode(类型:ViewMode

文件和目录在对话框中的显示方式。

4、functions

1、访问属性相关 function

1、QFileDialog::AcceptMode acceptMode() const

获取对话框的接受模式,是用于打开还是保存文件。

2、void setAcceptMode(QFileDialog::AcceptMode mode)

设置对话框的接受模式,是用于打开还是保存文件。

2、静态公共成员

1、 通过对话框获取用户选择的文件路径:QFileDialog::getOpenFileName

// C++
QString QFileDialog::getOpenFileName (QWidget * parent = 0,  // parent,用于指定父组件。const QString & caption = QString(), // caption,是对话框的标题;const QString & dir = QString(),    //dir,是对话框显示时默认打开的目录const QString & filter = QString(), // filter,是对话框的后缀名过滤器QString * selectedFilter = 0, // selectedFilter,是默认选择的过滤器Options options = 0 )    // options,是对话框的一些参数设定
# python
getOpenFileName(parent: QWidget | None = ..., caption: str = ..., directory: str = ..., filter: str = ..., initialFilter: str = ..., options: Options | Option = ...) -> Tuple[str, str]  # 返回一个元组 (path,selectedFilter)
  • parent :用于指定父组件,如果parent不是nullptr,那么它将把对话框定位在parent的标题栏下方。
  • caption:QFileDialog对话框的标题
  • dir :对话框显示时默认打开的目录
  • filter:对话框中文扩展名的过滤器。文件对话框只显示与给定过滤器匹配的文件。
    • 如果你想要多个过滤器,用 ;; 例如: "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
  • selectedFilter:默认选择的过滤器
  • options:options参数包含关于如何运行对话框的各种选项,有关可以传递的标志的更多信息,请参阅QFileDialog:Option enum。

Python 代码示例:

# 在python 中 getOpenFileName 的返回值是一个元组,包含选择的文件路径和过滤器
fname ,_ = QFileDialog.getOpenFileName(self.ui,'选择音频文件路径','./','files type(*.mp3 *.mp4);;Images (*.png *.xpm *.jpg)')# 返回值示例:('E:/mp3/这世界那么多人-莫文蔚.mp3', 'files type(*.mp3 *.mp4)')

2、 通过对话框获取用户选择的文件夹路径:QFileDialog::getExistingDirectory

// C++
QString QFileDialog::getExistingDirectory(QWidget *parent = nullptr,  // parent,用于指定父组件。const QString &caption = QString(),  // caption,是对话框的标题;const QString &dir = QString(),  //dir,是对话框显示时默认打开的目录QFileDialog::Options options = ShowDirsOnly)  // options,是对话框的一些参数设定
# python
getExistingDirectory(parent: QWidget | None = ..., caption: str = ..., directory: str = ..., options: Options | Option = ...) -> str # 返回 文件夹 path
  • parent :用于指定父组件,如果parent不是nullptr,那么它将把对话框定位在parent的标题栏下方。
  • caption:QFileDialog对话框的标题
  • dir :对话框显示时默认打开的目录
  • options:options参数包含关于如何运行对话框的各种选项,有关可以传递的标志的更多信息,请参阅QFileDialog:Option enum。
    • ShowDirsOnly :只在文件对话框中显示目录。默认情况下,同时显示文件和目录。(仅在目录文件模式下有效。)

Python 代码示例:

dirpath = QFileDialog.getExistingDirectory(self.ui,'选择音频文件路径','./',QFileDialog.Option.ShowDirsOnly)

3、Public Functions

pass

更多参考:

更多推荐

QFileDialog 文件对话框

本文发布于:2023-12-05 18:31:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1664961.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:对话框   文件   QFileDialog

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!