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使用any判断一个对象是否为空的方法
Nov 19 Python
Python中的Matplotlib模块入门教程
Apr 15 Python
在Python上基于Markov链生成伪随机文本的教程
Apr 17 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
Mar 02 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
python和shell获取文本内容的方法
Jun 05 Python
python内置数据类型之列表操作
Nov 12 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 Python
Windows系统Python直接调用C++ DLL的方法
Aug 01 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
python实现最速下降法
Mar 24 Python
requests在python中发送请求的实例讲解
Feb 17 Python
Python selenium的这三种等待方式一定要会!
python实现股票历史数据可视化分析案例
Python如何识别银行卡卡号?
使用python+pygame开发消消乐游戏附完整源码
Python数据可视化之基于pyecharts实现的地理图表的绘制
python使用PySimpleGUI设置进度条及控件使用
python3+PyQt5+Qt Designer实现界面可视化
You might like
德生9700DX电路分析
2021/03/02 无线电
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
javascript 鼠标拖动图标技术
2010/02/07 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
jQuery自定义组件(导入组件)
2016/11/08 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
JS 实现微信扫一扫功能
2018/09/14 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
python对字典进行排序实例
2014/09/25 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
Python实现繁体中文与简体中文相互转换的方法示例
2018/12/18 Python
Python图片的横坐标汉字实例
2019/12/04 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
留学自荐信
2013/10/10 职场文书
总经理助理岗位职责
2013/11/08 职场文书
护理工作感言
2014/01/16 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
合同意向书范本
2014/07/30 职场文书
2014年国庆节寄语
2014/09/19 职场文书
2014年政协工作总结
2014/12/09 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
python中的getter与setter你了解吗
2022/03/24 Python