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


猜你喜欢
- 一、python图形界面tk之滚动文本框的实现示例使用python的tkinter库实现滚动文本框的方式,目前我知道的有两种,一
- 编译安装全是坑……第一遍装完无法使用pip,报错找不到ssl模块。各种报错:pip is configured with locations
- 昨天遇到了一个奇怪的问题,在Python中需要传递dict参数,利用json.dumps将dict转为json格式用post方法发起请求:p
- 1. 调度器scheduler的作用我们都知道,在Go语言中,程序运行的最小单元是gorouines。然而程序的运行最终都是要交给操作系统来
- 一。初识单元测试1)定义:单元:函数或者是类单元测试:测试类或者函数python内置的单元测试框架:unittest2)单元测试的意义好处:
- 目录1. 反向引用_命名分组2. 正则函数小提示:总结1. 反向引用_命名分组# ### 反向引用import restrvar = &qu
- 前言本文主要是积累一下在使用前端的watch开发过程中遇到的问题点和经验。一、watch是什么根据本人的理解,它就是一个 * ,就是说监听的
- 使用Python方法比用各种命令方便,可以设置超时时间,到底通不通,端口是否开放一眼能看出来。命令和返回完整权限,可以ping通,端口开放,
- 网页的圆角处理,其实最开始的九宫格的表格处理是挺方便的,只是现在都不用表格布局了,自然就被非法取缔了。呵呵。微软的有VML画圆角,由于只是它
- 一、使用 Microsoft OLE DB Provider For ODBC 链接MySQL安装MySQL的ODBC驱动MyODBC1、为
- 先导记得刚学ABAP的时候问这问那,问东问西,常常一个可能不怎么用的东西,扣了好久好久.群里的大佬就说,学那么多没必要,以后是会天天写ALV
- 安装正常情况,只需pip install PIL==1.1.7或者pip install Pillow==2.9.0即可。但需留意安装后的输
- 现在越来越多的浏览器有拦截弹出窗口的功能。广告弹出来给拦掉了就无所谓,要是客户在付款时给拦掉了可就不能乱算了。Gmail的“哎呀”算是经典,
- MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询。构成一个MERGE数据表结构的各成员MyIS
- chr()函数与ord()函数解析chr()函数用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。返回
- 本文实例讲述了JS使用百度地图API自动获取地址和经纬度操作。分享给大家供大家参考,具体如下:在实际工作中我们经常会遇到这样的问题,但是当我
- 我们在使用selenium库调用Chromedriver.exe时需要很多的配置参数下面列出了常用参数chrome_options.add_
- 本文实例讲述了Python中顺序表原理与实现方法。分享给大家供大家参考,具体如下:Python中的顺序表Python中的list和tuple
- 本节内容:1.前言2.相关概念3.Python中的默认编码4.Python2与Python3中对字符串的支持5.字符编码转换一、前言Pyth
- tensorflow官方提供了3种方法来读取数据:预加载数据(preloaded data):在TensorFlow图中定义常量或变量来保存