Python3中PyQt5简单实现文件打开及保存
作者:LOONGV 发布时间:2023-10-17 21:45:52
标签:PyQt5,文件,打开,保存
本文主要介绍了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_())
来源:https://blog.csdn.net/u013032852/article/details/93996214
0
投稿
猜你喜欢
- 视图(View)“视图”主要指我们送到Web浏览器的最终结果??比如我们的脚本生成的HTML。当说到视图时,很多人想到的是模版,但是把模板方
- 1、time模块(※※※※)import time #导入时间模块print(time.time()) #返回当前时间的时间戳,可用于计算程
- 今年年初之时,微软发布了一个针对ActiveX控件的补丁,安装此补丁后的IE6中,当ActiveX控件获得焦点时,IE自动为其套上一个虚线矩
- 1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直
- 用ASP生成XBM数字图片(可用来生成验证码)XBM图片是一个纯文本的文件,可以用ASP来自动生成。可以用它来使用网站登陆的验证码;我们用记
- 参数让我们进一步看看CPU的数量是如何影响这些参数的。 参数fast_start_parallel_rollback Oracle并行机制中
- Go Gin 实现文件的上传下载流读取文件上传routerrouter.POST("/resources/common/uploa
- 普通方法:爬取梨视频import reimport timeimport randomimport requestsfrom lxml im
- 有过Web经验的人喜欢使用:<meta http-equiv="refresh" content="1;
- 最近做了一个微信小程序的项目,关于后端给我传递日期的时候,我拿到的是一串数字如:createDate: 1552117531000 ,这是一
- 1.Python代码import cx_Oracletns=cx_Oracle.makedsn('127.0.0.1',
- 代码如下:'文字水印 Function WordWatermark(ImagePath) Dim&nb
- 作用域链(Scope Chain)JavaScript中的一种重要机制,JS中所有的标识符(Identifier)都是通过Scope Cha
- 本文将结合实例给大家演示如何使用ASP读取一个目录结构(及包含的文件信息)。演示页面中遍历显示了代码吾爱站点上若干目录文件夹——其中包含它们
- 关于如何区分艺术和设计的话题总是玄之又玄,并因此引发的争论也有很长一段时间。艺术家和设计师都基于相同的知识基础来创作视觉作品,但他们创作的理
- 首先看这下面的例子(鼠标移上去):<TABLE><TBODY><TR&g
- Python从MySQL数据库中导出csv文件处理csv文件导入MySQL数据库import pymysqlimport csvimport
- 现在很多以内容为核心的网站上都在文章底部添加了社会化分享按钮,能让浏览用户在发现一篇有价值的文章时,可以通过社会化网络快速分享给自己的好友,
- 代码如下:'===================================== '转换内容,防止意外 '==
- 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表中的每个元素都分配一个数字