Python3中PyQt5简单实现文件打开及保存


Posted in Python onJune 10, 2021

本文主要介绍了Python3中PyQt5简单实现文件打开及保存,分享给大家,具体如下:

# -*- coding: utf-8 -*-
 
# Form implementation generated from reading ui file 'filemanage.ui'
#
# Created by: PyQt5 UI code generator 5.12.2
#
# WARNING! All changes made in this file will be lost!
 
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import QFileInfo
from PyQt5.QtWidgets import QFileDialog
 
 
class Ui_Form(object):
    save_path = ''
 
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(484, 412)
        self.open_path_text = QtWidgets.QLineEdit(Form)
        self.open_path_text.setGeometry(QtCore.QRect(40, 20, 331, 20))
        self.open_path_text.setObjectName("open_path_text")
        self.open_path_but = QtWidgets.QPushButton(Form)
        self.open_path_but.setGeometry(QtCore.QRect(380, 20, 75, 23))
        self.open_path_but.setObjectName("open_path_but")
        self.save_path_but = QtWidgets.QPushButton(Form)
        self.save_path_but.setGeometry(QtCore.QRect(380, 50, 75, 23))
        self.save_path_but.setObjectName("save_path_but")
        self.save_path_text = QtWidgets.QLineEdit(Form)
        self.save_path_text.setGeometry(QtCore.QRect(40, 50, 331, 20))
        self.save_path_text.setObjectName("save_path_text")
        self.text_value = QtWidgets.QTextEdit(Form)
        self.text_value.setGeometry(QtCore.QRect(10, 90, 461, 281))
        self.text_value.setObjectName("text_value")
        self.save_but = QtWidgets.QPushButton(Form)
        self.save_but.setGeometry(QtCore.QRect(190, 380, 75, 23))
        self.save_but.setObjectName("save_but")
 
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
 
    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.open_path_text.setPlaceholderText(_translate("Form", "打开地址"))
        self.open_path_but.setText(_translate("Form", "浏览"))
        self.save_path_but.setText(_translate("Form", "浏览"))
        self.save_path_text.setPlaceholderText(_translate("Form", "保存地址"))
        self.save_but.setText(_translate("Form", "保存"))
        self.open_path_but.clicked.connect(self.open_event)
        self.save_path_but.clicked.connect(self.save_event)
        self.save_but.clicked.connect(self.save_text)
 
    def open_event(self):
        _translate = QtCore.QCoreApplication.translate
        directory1 = QFileDialog.getOpenFileName(None, "选择文件", "H:/")
        print(directory1)  # 打印文件夹路径
        path = directory1[0]
        self.open_path_text.setText(_translate("Form", path))
        if path is not None:
            with open(file=path, mode='r+', encoding='utf-8') as file:
                self.text_value.setPlainText(file.read())
 
    def save_event(self):
        global save_path
        _translate = QtCore.QCoreApplication.translate
        fileName2, ok2 = QFileDialog.getSaveFileName(None, "文件保存", "H:/")
        print(fileName2)  # 打印保存文件的全部路径(包括文件名和后缀名)
        save_path = fileName2
        self.save_path_text.setText(_translate("Form", save_path))
 
    def save_text(self):
        global save_path
        if save_path is not None:
            with open(file=save_path, mode='a+', encoding='utf-8') as file:
                file.write(self.text_value.toPlainText())
            print('已保存!')
            self.text_value.clear()
 
            '''
            directory1 = QFileDialog.getExistingDirectory(self, "选择文件夹", "/")
            print(directory1)  # 打印文件夹路径
            text.setText(_translate("Form", directory1))
            fileName, filetype = QFileDialog.getOpenFileName(self, "选择文件", "/", "All Files (*);;Text Files (*.txt)")
            print(fileName, filetype)  # 打印文件全部路径(包括文件名和后缀名)和文件类型
            print(fileName)  # 打印文件全部路径(包括文件名和后缀名)
            text.setText(_translate("Form", fileName))
            fileinfo = QFileInfo(fileName)
            print(fileinfo)  # 打印与系统相关的文件信息,包括文件的名字和在文件系统中位置,文件的访问权限,是否是目录或符合链接,等等。
            file_name = fileinfo.fileName()
            print(file_name)  # 打印文件名和后缀名
            file_suffix = fileinfo.suffix()
            print(file_suffix)  # 打印文件后缀名
            file_path = fileinfo.absolutePath()
            print(file_path)  # 打印文件绝对路径(不包括文件名和后缀名)
            files, ok1 = QFileDialog.getOpenFileNames(self, "多文件选择", "/", "所有文件 (*);;文本文件 (*.txt)")
            print(files, ok1)  # 打印所选文件全部路径(包括文件名和后缀名)和文件类型
            fileName2, ok2 = QFileDialog.getSaveFileName(self, "文件保存", "/", "图片文件 (*.png);;(*.jpeg)")
            print(fileName2)  # 打印保存文件的全部路径(包括文件名和后缀名)
            '''
 
if __name__ == "__main__":
    import sys
 
    app = QtWidgets.QApplication(sys.argv)
    widget = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(widget)
    widget.show()
    sys.exit(app.exec_())

Python3中PyQt5简单实现文件打开及保存

Python3中PyQt5简单实现文件打开及保存

到此这篇关于Python3中PyQt5简单实现文件打开及保存的文章就介绍到这了,更多相关PyQt5 文件打开保存内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用Python的内建模块collections的教程
Apr 28 Python
Python中字符串对齐方法介绍
May 21 Python
Python的time模块中的常用方法整理
Jun 18 Python
详解Python中的序列化与反序列化的使用
Jun 30 Python
5种Python单例模式的实现方式
Jan 14 Python
matplotlib设置legend图例代码示例
Dec 19 Python
对python3标准库httpclient的使用详解
Dec 18 Python
python 利用pyttsx3文字转语音过程详解
Sep 25 Python
修改Pandas的行或列的名字(重命名)
Dec 18 Python
python 遍历磁盘目录的三种方法
Apr 02 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 Python
Python闭包的定义和使用方法
Apr 11 Python
Python selenium的这三种等待方式一定要会!
python实现股票历史数据可视化分析案例
Python如何识别银行卡卡号?
使用python+pygame开发消消乐游戏附完整源码
Python数据可视化之基于pyecharts实现的地理图表的绘制
python使用PySimpleGUI设置进度条及控件使用
python3+PyQt5+Qt Designer实现界面可视化
You might like
PHP学习资料汇总与网址
2007/03/16 PHP
PHP 程序员也要学会使用“异常”
2009/06/16 PHP
ThinkPHP模板自定义标签使用方法
2014/06/26 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
Symfony查询方法实例小结
2017/06/28 PHP
Jquery 监视按键,按下回车键触发某方法的实现代码
2014/05/11 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
node.js爬取中关村的在线电瓶车信息
2018/11/13 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
[01:32:22]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第一场 2月5日
2021/03/11 DOTA
Python实现子类调用父类的方法
2014/11/10 Python
python获取外网ip地址的方法总结
2015/07/02 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
django在开发中取消外键约束的实现
2020/05/20 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
C语言基础笔试题
2013/04/27 面试题
实用的简历自我评价
2014/03/06 职场文书
经典公益广告词
2014/03/13 职场文书
期末评语大全
2014/05/04 职场文书
php实现自动生成验证码的实例讲解
2021/11/17 PHP
Mysql事务索引知识汇总
2022/03/17 MySQL
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android