QFileDialog 的各种属性设置介绍 .

QFileDialog Class Reference
QFileDialog类提供了允许用户选择文件或者目录的对话框.
构造函数
QFileDialog::QFileDialog(const QString &dirName,const QString &filter=QString::null,QWidget *parent=0,const char *name=0,bool modal=FALSE)
构造父对象为parent名称为name为文件选择对话框,dirName指定工作目录,filter指定过滤器,modal为真则为模式对话框否则为非模式
QFileDialog::QFileDialog(QWidget *parent=0,const char *name=0,bool modal=FALSE)
构造父对象为parent名称为name的文件对话框,如果modal为真则为模式否则为非模式
QFileDialog::~QFileDialog()
析构该对话框
void QFileDialog::addFilter(const QString &filter)
添加过滤器并作为当前过滤器
void QFileDialog::addLeftWidget(QWidget *w)
添加左窗口部件
void QFileDialog::addRightWidget(QWidget *w)
添加右窗口部件
void QFileDialog::addToolButton(QButton *b,bool separator=FALSE)
添加工具按钮(separator决定分隔线)
void QFileDialog::addWidgets(QLabel *l,QWidget *w,QPushButton *b)
将指定的窗口部件添加到文件对话框底部
const QDir *QFileDialog::dir() const
返回文件对话框中显示的当前目录
void QFileDialog::dirEntered(const QString &)信号
当用户进入一个目录时该信号被发射
QString QFileDialog::dirPath() const
返回当前工作目录
void QFileDialog::fileHightlighted(const QString &)信号
当用户高亮显示一个文件时该信号被发射
void QFileDialog::fileSelected(const QString &)信号
当用户选择一个文件时该信号被发射
void QFileDialog::fileSelected(const QStringList &)信号
当用户在ExistingFiles模式下选择一个或多个文件时该信号被发射
void QFileDialog::filterSelected(const QString &)信号
当用户选择一个过滤器时该信号被发射
静态函数
QString QFileDialog::getExistingDirectory(const QString &dir=QString::null,QWidget *parent=0,const char *name=0,const QString &caption=QString::null,bool dirOnly=TRUE,bool resolveSymlinks=TRUE)静态
返回由用户选择的已经存在的目录的静态构造函数
QString QFileDialog::getOpenFileName(const QString &startWith=QString::null,const QString &filter=QString::null,QWidget *parent=0,const char *name=0,const QString &caption=QString::null,QString *selectedFilter=0,bool resolveSymlinks=TRUE)静态
返回用户选择的文件名(包括路径)
QStringList QFileDialog::getOpenFileNames ( const QString & filter = QString::null, const QString & dir = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE ) [静态]
返回用户选择的文件列表
QString QFileDialog::getSaveFileName ( const QString & startWith = QString::null, const QString & filter = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE ) [静态]
返回用户输入的欲保存的文件名
QFileIconProvider *QFileDialog::iconProvider() 静态
返回当前设置的图标提供者的指针
bool QFileDialog::isContentsPreviewEnabled()const
如果文件对话框提供当前选择文件的内容预览返回真否则返回假
bool QFileDialog::isInfoPreviewEnabled()const
如果提供当前选择文件的信息预览返回真否则返回假
Mode QFileDialog::mode () const
返回文件对话框的模式
PreviewMode QFileDialog::previewMode () const
返回对话框的预览模式
void QFileDialog::rereadDir()
重新读取在文件对话框中显示的当前目录
void QFileDialog::resortDir()
重新排列所显示的目录
void QFileDialog::selectAll(bool b)
如果b为真则选择所有文件否则取消选择
QString QFileDialog::selectedFile()const
返回选择文件的名称
QStringList QFileDialog::selectedFiles()const
返回选择文件的列表
QString QFileDialog::selectedFilter() const
返回选择的过滤器
void QFileDialog::setDir(const QDir &dir)
设置工作目录
void QFileDialog::setFilter(const QString &newFilter)槽
设置文件对话框过滤器
void QFileDialog::setFilters(const QString &filters)槽
设置过滤器,每一组必须用;;两个分号分隔
void QFileDialog::setFilters(const char **types)槽
设置过滤器,必须是以结束符结尾的字符串列表
void QFileDialog::setFilters ( const QStringList & )
设置过滤器
void QFileDialog::setIconProvider ( QFileIconProvider * provider ) [静态]
设置图标提供者
void QFileDialog::setInfoPreview ( QWidget * w, QFilePreview * preview )
设置显示文件信息的窗口部件为w并且用QFilePreview preview来预览信息
void QFileDialog::setInfoPreviewEnabled (bool)
设置是否提供选择文件的信息预览
void QFileDialog::setMode(Mode)
设置模式
QFileDialog::AnyFile 文件名称,不论是否存在
QFileDialog::ExistingFile一个单一存在文件的名称
QFileDialog::Directory 目录名称,文件和目录都被显示
QFileDialog::ExistingFiles
void QFileDialog::setPreviewMode ( PreviewMode m )
设置文件对话框的预览模式为m
QFileDialog::NoPreview 没有预览被显示
QFileDialog::Contents 内容预览窗口
QFileDialog::Info 信息预览窗口
ViewMode QFileDialog::viewMode () const
返回文件对话框的视图模式
QUrl QFileDialog::url()const
返回当前工作目录的URL
bool QFileDialog::showHiddenFiles()const
如果隐藏文件被显示返回真否则返回假
void QFileDialog::setViewMode(ViewMode m)
设置视图模式为m
void QFileDialog::setUrl(const QUrlOperator &url)
设置工作目录为url指定的目录
void QFileDialog::setSelection(const QString &filename)
设置默认选择为filename如果filename为绝对的,setDir()也会被调用来设置文件对话框的工作目录为filename中的目录
void QFileDialog::setSelectedFilter(int n)
设置文件对话框中当前选择的过滤器列表中的第n个过滤器
void QFileDialog::setSelectedFilter(const QString &mask)
设置当前选择的过滤器为文件mask中包含的第一个
void QFileDialog::setShowHiddenFiles(bool s)
设置隐藏文件是否被显示
属性文档
bool contentsPreview是否提供当前选择文件的内容预览
QString dirPath工作目录
bool infoPreview 是否提供当前选择文件的信息预览
QString selectedFile选择文件的名称
QStringList selectedFiles选择文件的列表
QString selectedFilter 用户选择的过滤器
bool showHiddenFiles 文件对话框中隐藏文件是否显示
ViewMode viewMode 文件对话框的视图模式
QFileDialog::List 列表视图模式
QFileDialog::Detail 详细视图模式

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: QFileDialogQt GUI框架中的一个类,用于提供文件对话框。在使用Python语言编写Qt应用程序时,可以通过PyQt或PySide模块来使用QFileDialog类。 QFileDialog类可以用于打开、保存、选择多个文件等等操作。当需要在文件对话框中启用多选功能时,可以通过设置QFileDialog的“QFileDialog::Multi”属性来实现。 具体而言,在使用QFileDialog类时,需要进行以下步骤: 1. 导入所需模块 可以使用以下代码导入PyQt或PySide模块: ``` import sys from PyQt5.QtWidgets import QApplication, QFileDialog ``` 或者: ``` import sys from PySide2.QtWidgets import QApplication, QFileDialog ``` 2. 创建QFileDialog实例 使用QFileDialog类的静态方法getOpenFileNames()或getSaveFileName()创建QFileDialog的实例,如下所示: ``` fileNames, _ = QFileDialog.getOpenFileNames(None, "Select Files", "/home", "Image Files (*.png *.jpg *.bmp)") ``` 或者: ``` fileName, _ = QFileDialog.getSaveFileName(None, "Save Files", "/home", "Text Files (*.txt)") ``` 3. 设置多选属性 在创建QFileDialog实例时,在第三个参数中指定过滤器时添加“QFileDialog::Multi”属性即可,如下所示: ``` fileNames, _ = QFileDialog.getOpenFileNames(None, "Select Files", "/home", "Image Files (*.png *.jpg *.bmp);;All Files (*)", options=QFileDialog.MultiSelection) ``` 4. 运行应用程序 将上述代码放在应用程序的主函数中并运行,即可在文件对话框中启用多选功能。 综上所述,使用QFileDialog类打开、保存或选择多个文件时,可以通过设置QFileDialog属性来实现多选。在Python中使用Qt编写应用程序时,可以使用PyQt或PySide模块来使用QFileDialog类。 ### 回答2: QFileDialog 是一款用于在Qt界面中选择文件和目录的控件,具有灵活的选择方式和多个可定制的选项。在Python中,通过使用 PyQt5 模块里的 QFileDialog ,我们可以方便地实现多选文件的功能。 在 QFileDialog 中实现多选的方式很简单,只需要简单地设置选项即可。在 QFileDialog 的弹出框中选择文件选项(QFileDialog.getOpenFileNames),并将多选(QFileDialog.Options)选项设置为 True,例如: options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog options |= QFileDialog.Options(QFileDialog.DontUseNativeDialog | QFileDialog.ReadOnly | QFileDialog.HideNameFilterDetails | QFileDialog.ShowDirsOnly | QFileDialog.ExistingFile | QFileDialog.ReadOnly) fileNames, _ = QFileDialog.getOpenFileNames(self, "多选文件", "", "All Files (*);;Text Files (*.txt)", options=options) 上述代码中,options 为 QFileDialog 的选项对象,其中位设置为 True 的选项包括:DontUseNativeDialog、ReadOnly、HideNameFilterDetails、ShowDirsOnly、ExistingFile、以及 ReadOnly 选项,这些选项都可以根据实际需要进行修改。在选项中设置多选选项为 True,即可实现多选的功能,另外也可以在文件过滤选项中选择需要的文件类型。 总之,通过 QFileDialog 和 PyQt5 模块的组合使用,我们可以方便地实现多选文件的功能,极大地提高了开发效率和用户体验。 ### 回答3: QFileDialog 是PyQt5 中的一个对话框类,用于打开和保存文件。在 QFileDialog 中,我们可以设置多选模式,使用户能够同时选择多个文件或目录。 在 PyQt5 中,设置 QFileDialog 多选模式非常简单,只需在创建 QFileDialog 实例时调用 setFileMode() 和 setOption() 方法即可。具体实现代码如下: ```python from PyQt5.QtWidgets import QFileDialog, QApplication app = QApplication([]) fileDialog = QFileDialog() # 设置多选文件模式 fileDialog.setFileMode(QFileDialog.ExistingFiles) # 设置多选目录模式 # fileDialog.setFileMode(QFileDialog.Directory) # 设置为多选模式 fileDialog.setOption(QFileDialog.DontUseNativeDialog, False) # 打开文件对话框 fileDialog.exec_() ``` 上述代码中,我们通过 QFileDialog.ExistingFiles 参数将文件对话框设置为多选文件模式。如果要设置为多选目录模式,只需将上述代码注释掉的行取消注释即可。 另外,我们将第二个参数设置为 False,即将对话框设置为非原生对话框。这是因为在 Windows 上,原生对话框的多选模式可能会出现问题。 当用户选择了一个或多个文件后,我们可以通过 QFileDialog.selectedFiles() 方法获取用户选择的文件路径列表。 ```python selectedFiles = fileDialog.selectedFiles() print(selectedFiles) ``` 上述代码会将用户选择的文件路径列表打印出来。 总的来说,QFileDialog 的多选模式非常实用,能够方便地处理多个文件或目录的选择。通过 setFileMode() 和 setOption() 方法的使用,我们可以轻松设置 QFileDialog 的多选模式,提升应用程序的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值