Python3中PyQt5簡(jiǎn)單實(shí)現(xiàn)文件打開及保存
本文主要介紹了Python3中PyQt5簡(jiǎn)單實(shí)現(xiàn)文件打開及保存,分享給大家,具體如下:
# -*- 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) # 打印與系統(tǒng)相關(guān)的文件信息,包括文件的名字和在文件系統(tǒng)中位置,文件的訪問權(quán)限,是否是目錄或符合鏈接,等等。 file_name = fileinfo.fileName() print(file_name) # 打印文件名和后綴名 file_suffix = fileinfo.suffix() print(file_suffix) # 打印文件后綴名 file_path = fileinfo.absolutePath() print(file_path) # 打印文件絕對(duì)路徑(不包括文件名和后綴名) 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_())
到此這篇關(guān)于Python3中PyQt5簡(jiǎn)單實(shí)現(xiàn)文件打開及保存的文章就介紹到這了,更多相關(guān)PyQt5 文件打開保存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)同時(shí)調(diào)用多個(gè)GPT的API
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)同時(shí)調(diào)用多個(gè)GPT的API,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09python正則表達(dá)式去除兩個(gè)特殊字符間的內(nèi)容方法
今天小編就為大家分享一篇python正則表達(dá)式去除兩個(gè)特殊字符間的內(nèi)容方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12python庫(kù)TextDistance量化文本之間的相似度算法探究
這篇文章主要為大家介紹了python庫(kù)TextDistance量化文本之間的相似度算法探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01django 自定義filter 判斷if var in list的例子
今天小編就為大家分享一篇django 自定義filter 判斷if var in list的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08python中的繼承機(jī)制super()函數(shù)詳解
這篇文章主要介紹了python中的繼承機(jī)制super()函數(shù)詳解,super 是用來解決多重繼承問題的,直接用類名調(diào)用父類方法在使用單繼承的時(shí)候沒問題,但是如果使用多繼承,會(huì)涉及到查找順序、重復(fù)調(diào)用等問題,需要的朋友可以參考下2023-08-08python實(shí)現(xiàn)進(jìn)制轉(zhuǎn)化的示例代碼
本文主要介紹了python實(shí)現(xiàn)進(jìn)制轉(zhuǎn)化的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10