PyQt 记住上次打开路径 您所在的位置:网站首页 如何读取记忆 PyQt 记住上次打开路径

PyQt 记住上次打开路径

2024-07-07 15:43| 来源: 网络整理| 查看: 265

PyQt 记住上次打开路径 文件对话窗getOpenFileNames思路代码

文件对话窗 功能函数打开单个文件QFileDialog.getOpenFileName()打开多个文件QFileDialog.getOpenFileNames()打开文件夹QFileDialog.getExistingDirectory()文件保存QFileDialog.getSaveFileName() getOpenFileNames

getOpenFileNames函数表示打开多个文件

QtWidgets.QFileDialog.getOpenFileNames(parent=None, caption='', directory='', filter='', initialFilter='', options, QFileDialog_Options=None, QFileDialog_Option=None, *args, **kwargs) 参数描述parent指定父控件caption对话窗的标题directory表示对话窗显示的目录,’‘表示程序运行的目录,’/'表示根目录filter后缀名过滤器,比如可以只显示txt文件或者mp3文件selectedFilter默认选择的过滤器options对话框的参数设定 思路

控制第三个参数就可以让程序记录上一次目录 因此可以将当前文件的路径保存到一个配置文件中,下次打开程序就读取配置文件获取上一次的路径

保存配置可以使用QSettings(比较方便),另外创建QSettings后要设置编码为UTF8,否则就会出现乱码问题

代码 #coding:utf-8 from PyQt5 import QtCore, QtWidgets, QtGui from PyQt5.QtCore import * from PyQt5.QtGui import * import os class MainUi(QtWidgets.QMainWindow): # 界面初始化 def __init__(self, parent=None): # 导入文件按钮 self.button_load_file = QtWidgets.QPushButton('选择文件', self.main_widget) # 绑定事件 self.button_load_file.clicked.connect(self.button_load_file_clicked) # 创建QSettings,配置文件是tmp/.temp self.setting = QSettings('tmp/.temp', QSettings.IniFormat) # 设置UTF8编码,反正保存配置文件时出现乱码 self.setting.setIniCodec('UTF-8') # 读取上一次的目录路径 self.last_path = self.setting.value('LastFilePath') # 如果字符串为空,将路径索引到根目录 if self.last_path is None: self.last_path = '/' # 根盘符 # 点击打开文件 def button_load_file_clicked(self): # 设置过滤器 format_str = ' '.join(['*.pdf']) # 弹出打开文件的对话窗 fname, _ = QtWidgets.QFileDialog.getOpenFileNames(self, "select pdf", self.last_path, "PDF files (%s)" % (format_str,)) # 如果文件为空,取消后续指令 if fname is None or len(fname)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有