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将xml和xsl转换为html的方法
Mar 10 Python
Python获取linux主机ip的简单实现方法
Apr 18 Python
快速实现基于Python的微信聊天机器人示例代码
Mar 03 Python
Python实现的寻找前5个默尼森数算法示例
Mar 25 Python
python 实现对文件夹内的文件排序编号
Apr 12 Python
浅谈Python中的全局锁(GIL)问题
Jan 11 Python
超实用的 30 段 Python 案例
Oct 10 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
Feb 26 Python
基于Keras中Conv1D和Conv2D的区别说明
Jun 19 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
Dec 09 Python
python基于opencv批量生成验证码的示例
Apr 28 Python
Pytorch中使用ImageFolder读取数据集时忽略特定文件
Mar 23 Python
Python selenium的这三种等待方式一定要会!
python实现股票历史数据可视化分析案例
Python如何识别银行卡卡号?
使用python+pygame开发消消乐游戏附完整源码
Python数据可视化之基于pyecharts实现的地理图表的绘制
python使用PySimpleGUI设置进度条及控件使用
python3+PyQt5+Qt Designer实现界面可视化
You might like
php简单实现查询数据库返回json数据
2015/04/16 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
python3图片转换二进制存入mysql
2013/12/06 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
python 接收处理外带的参数方法
2018/12/03 Python
python下载微信公众号相关文章
2019/02/26 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
学生保证书范文
2014/04/28 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python
Android中的Launch Mode详情
2022/06/05 Java/Android