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基础教程之常用运算符
Aug 29 Python
Python多线程实例教程
Sep 06 Python
Python实现遍历windows所有窗口并输出窗口标题的方法
Mar 13 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
浅析python打包工具distutils、setuptools
Apr 20 Python
python中map的基本用法示例
Sep 10 Python
对python修改xml文件的节点值方法详解
Dec 24 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
May 28 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
python之MSE、MAE、RMSE的使用
Feb 24 Python
Python selenium的这三种等待方式一定要会!
python实现股票历史数据可视化分析案例
Python如何识别银行卡卡号?
使用python+pygame开发消消乐游戏附完整源码
Python数据可视化之基于pyecharts实现的地理图表的绘制
python使用PySimpleGUI设置进度条及控件使用
python3+PyQt5+Qt Designer实现界面可视化
You might like
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
PHP模拟http请求的方法详解
2016/11/09 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
JS之相等操作符详解
2016/09/13 Javascript
JavaScript仿微信打飞机游戏
2020/07/05 Javascript
Angularjs 实现动态添加控件功能
2017/05/25 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
python实现每次处理一个字符的三种方法
2014/10/09 Python
Python文件和流(实例讲解)
2017/09/12 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
世界排名第一的运动鞋市场:Flight Club
2020/01/03 全球购物
介绍下Java中==和equals的区别
2013/09/01 面试题
汉语言文学毕业生求职信
2013/10/01 职场文书
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
三八妇女节演讲稿
2014/05/27 职场文书
实习推荐信格式模板
2015/03/27 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android