【干货】用pyqt打开和读取文档的方法

本文详细介绍了如何在PyQT5中实现打开文件夹、打开特定文件、打开多个文件及保存文件的功能。通过`QFileDialog`类的方法,演示了各功能的具体代码实现,并提供了实际运行的结果展示,帮助开发者更好地理解和运用PyQT5进行文件操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在pyqt中,有打开文件夹、打开特定文件名、打开多个文件、保存文件这四个功能,下面将详细阐述

1.打开文件夹

    '''打开文件'''
    def openFile(self):
    	#其中self指向自身,"读取文件夹"为标题名,"./"为打开时候的当前路径
        directory1 = QFileDialog.getExistingDirectory(self,
                                                      "选取文件夹",
                                                      "./")  # 起始路径
        print(directory1)

然后使用一个pushButton调用该函数

self.btn_openFile.clicked.connect(self.openFile)

运行结果:
在这里插入图片描述

2.打开特定文件名

    def readFile(self):
        #self指向自身,"Open File"为文件名,"./"为当前路径,最后为文件类型筛选器
        fname,ftype = QFileDialog.getOpenFileName(self, "Open File", "./", "All Files(*);;Wav(*.wav);;Txt (*.txt)")#如果添加一个内容则需要加两个分号
        # 该方法返回一个tuple,里面有两个内容,第一个是路径, 第二个是要打开文件的类型,所以用两个变量去接受
        # 如果用户主动关闭文件对话框,则返回值为空
        if fname[0]:  # 判断路径非空
            f = QFile(fname[0])  # 创建文件对象,不创建文件对象也不报错 也可以读文件和写文件
            # open()会自动返回一个文件对象
            f = open(fname[0], "r")  # 打开路径所对应的文件, "r"以只读的方式 也是默认的方式
            with f:
                data = f.read()
                print(data)
                #self.textEdit.setText(data)
            f.close()

调用函数

self.pushButton_readFile.clicked.connect(self.readFile)

运行结果:
在这里插入图片描述

3.打开多个文件

   def openFile(self):
        files = QFileDialog.getOpenFileNames(self,
                                                  "多文件选择",
                                                  "./",
                                                  "All Files (*);;Text Files (*.txt)")
        print(files, ok1)

运行结果:
在这里插入图片描述
控制台输出:
在这里插入图片描述

4.保存文件

    def openFile(self):
        fileName2, ok2 = QFileDialog.getSaveFileName(self,
                                                     "文件保存",
                                                     "./",
                                                     "All Files (*);;Text Files (*.txt)")

运行结果:
在这里插入图片描述

更详细的用法,可以看一下我用文件读取做的一个简单的demo:
用pyqt5做一个简易的音乐播放器

更多:
pyqt中QTimer的使用介绍以及简单用例

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zeeland

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值