首页 > 其他分享 >pyqt5-QFileDialog

pyqt5-QFileDialog

时间:2023-04-18 11:22:43浏览次数:32  
标签:文件 parent pyqt5 QFileDialog caption str directory

1、介绍

这是pyqt的文件选择窗口。

2、使用

(1)单一文件选择

getOpenFileName(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0) -> Tuple[str, str]
  • 返回元组,第一个元素为选中的绝对路径,第二个为可供选择的文件类型
  • 如果是取消,则返回(”, ”)
  • parent:组件对象,表示弹窗所属
  • caption:标题
  • directory:打开时的路径
  • filter:过滤,其根据()内的项做正则匹配,比如*b.txt也是可行的
filePath,_ = QFileDialog.getOpenFileName(
    self.w,  # 父窗口对象
    "选择你要上传的图片",  # 标题
    r"d:\\data",  # 起始目录
    "图片类 (*.pg *.jpg *.bmp)"  # 选择类型过滤项,过滤内容在括号中
)
# ('I:/1.jpg', '图片类 (*.pg *.jpg *.bmp)')

(2)多文件选择

getOpenFileNames(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0) -> Tuple[List[str], str]
  • 使用方法与单文件选择一致,返回元组,第一个元素为str的列表,如果未选择,返回空的list。做多项选择时,按住ctrl键

(3)保存文件

getSaveFileName(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0) -> Tuple[str, str]
  • 其在弹窗之后有两种方案,一是选择一个已经存在的文件,二是在目录下编辑新文件的文件名,注意这里并不会直接创建文件,而仅仅返回文件路径

(4)选择文件夹

getExistingDirectory(parent: QWidget = None, caption: str = '', directory: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = QFileDialog.ShowDirsOnly) -> str
  • 如果取消,返回”
  • 如果选中,返回绝对路径
  • 可以在打开的窗口中新建,然后再选中

标签:文件,parent,pyqt5,QFileDialog,caption,str,directory
From: https://www.cnblogs.com/wd404/p/17328919.html

相关文章

  • pyqt5-QInputDialog
    1、介绍这是pyqt的对话框输入组件。2、使用getText弹出对话框,让用户输入单行文本getMultiLineText弹出对话框,让用户输入多行文本getInt弹出对话框,让用户输入整数getItem弹出对话框,让用户选择选项fromPySide2.QtWidgetsimportQInputDialog,QLineEdit​#返回值分......
  • 程序报错 No module named 'PyQt5' 的解决方案
    输入以下命令:调出CMD直接执行:pipinstallPyQt5-ihttps://pypi.douban.com/simple运行结果如下:完美解决!当然也可以运行pipinstallPyQt5-ihttps://pypi.tuna.tsinghua.edu.cn/simple......
  • pyqt5-QTextEdit
    1、介绍这是pyqt的多行文本输入组件,支持html、markdown的修饰样式。2、类和初始化classQTextEdit(QAbstractScrollArea):"""QTextEdit(parent:QWidget=None)QTextEdit(str,parent:QWidget=None)"""def__init__(self,*__args):......
  • pyqt5-QLineEdit
    1、介绍单行文本输入组件。2、类和初始化classQLineEdit(QWidget):"""QLineEdit(parent:QWidget=None)QLineEdit(str,parent:QWidget=None)"""def__init__(self,*__args):pass3、属性LeadingPosition=0......
  • pyqt5-QTreeWidget
    1、介绍树形组件2、类和初始化classQTreeWidget(QTreeView):"""QTreeWidget(parent:QWidget=None)"""def__init__(self,parent=None):pass3、属性4、方法(1)setColumnCount设置列数,参数为int类型。树形组件只能是设置为1(2)setHeaderLabels设......
  • pyqt5-QSpinBox
    1、介绍数值调整组件,可以通过点击切换数值。一般是十进制整数2、类和初始化classQSpinBox(QAbstractSpinBox):"""QSpinBox(parent:QWidget=None)"""def__init__(self,parent=None):pass3、属性4、方法5、事件......
  • pyqt5-QPlainTextEdit
    1、介绍这是pyqt的纯文本多行输入组件。2、类和初始化classQPlainTextEdit(QAbstractScrollArea):"""QPlainTextEdit(parent:QWidget=None)QPlainTextEdit(str,parent:QWidget=None)"""def__init__(self,*__args):pas......
  • pyqt5-QTableWidget
    1、介绍这是pyqt的表格组件。2、类和初始化classQTableWidget(QTableView):def__init__(self,*__args):pass示例:self.table=QTableWidget(self.w)3、属性4、方法(1)columnCount和rowCount返回int类型,即列数和行数,最低为0,即空白,此时没有表头(2)setColum......
  • pyqt5-QTabWidget
    QTabWidget详解–fengMisaka–博客园(cnblogs.com)1、介绍标签页组件。2、类和初始化classQTabWidget(QWidget):def__init__(self,parent=None):pass3、属性4、常用方法(1)addTabdefaddTab(self,QWidget,*__args):"""addTa......
  • pyqt5-QAction
    1、介绍动作。这是QMenu添加的项,或者QMenuBar组件直接添加。2、类和初始化classQAction(__PyQt5_QtCore.QObject):"""QAction(parent:QObject=None)QAction(str,parent:QObject=None)QAction(QIcon,str,parent:QObject=None)"""......