新闻动态

Python3中PyQt5简单实现文件打开及保存

发布日期:2022-03-13 18:57 | 文章来源:站长之家

本文主要介绍了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简单实现文件打开及保存的文章就介绍到这了,更多相关PyQt5 文件打开保存内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

美国服务器租用

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部