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中使用Boolean操作符做真值测试实例
Jan 30 Python
python使用socket向客户端发送数据的方法
Apr 29 Python
python实现猜数字小游戏
Mar 24 Python
Python global全局变量函数详解
Sep 18 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
Jun 26 Python
pycharm新建一个python工程步骤
Jul 16 Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 Python
django 连接数据库出现1045错误的解决方式
May 14 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 Python
python regex库实例用法总结
Jan 03 Python
Python selenium的这三种等待方式一定要会!
python实现股票历史数据可视化分析案例
Python如何识别银行卡卡号?
使用python+pygame开发消消乐游戏附完整源码
Python数据可视化之基于pyecharts实现的地理图表的绘制
python使用PySimpleGUI设置进度条及控件使用
python3+PyQt5+Qt Designer实现界面可视化
You might like
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
php教程 插件机制在PHP中实现方案
2012/11/02 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
php获取数据库结果集方法(推荐)
2017/06/01 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
vue元素实现动画过渡效果
2017/07/01 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python判断字符串是否包含子字符串的方法
2015/03/24 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
Python实现登陆文件验证方法
2018/10/06 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
html5简介及新增功能介绍
2020/05/18 HTML / CSS
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
加拿大女装网上购物:Reitmans
2016/10/20 全球购物
骨干教师培训制度
2014/01/13 职场文书
数控技术专业毕业自荐书范文
2014/02/05 职场文书
意向书范文
2014/03/31 职场文书
开学典礼演讲稿
2014/05/23 职场文书
设计专业自荐信
2014/06/19 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
Python开发五子棋小游戏
2022/05/02 Python
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python