博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PyQt5文件读写操作
阅读量:4097 次
发布时间:2019-05-25

本文共 2217 字,大约阅读时间需要 7 分钟。

#!import sysfrom PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.uic import loadUiclass fileClass(QMainWindow):    def __init__(self):        super(fileClass, self).__init__()        self.initUI()        self.fname = []    def initUI(self):        self.uipage = loadUi('./fileUI.ui', self)        self.uipage.actionOpen.triggered.connect(self.openFileHandle)        self.uipage.actionSave.triggered.connect(self.saveFileHandle1)    def openFileHandle(self):        print('open file')        self.fname = QFileDialog.getOpenFileName(self, 'Open File', './', 'Txt (*.txt)')        if self.fname[0]:            with open(self.fname[0], 'r', encoding='utf-8') as f:                self.uipage.plainTextEdit.setPlainText(f.read())                f.close()    def saveFileHandle(self):        print('save file')        self.fname = QFileDialog.getSaveFileName(self, 'Write File', './', 'All(*.*)')        if self.fname[0]:            with open(self.fname[0], 'w', encoding='utf-8') as f:                datatmp = self.uipage.plainTextEdit.toPlainText()                f.write(datatmp)                f.close()    def saveFileHandle1(self):        try:            if self.fname[0]:                with open(self.fname[0], 'w', encoding='utf-8') as f:                    datatmp = self.uipage.plainTextEdit.toPlainText()                    f.write(datatmp)                    f.close()        except:            print( '请先打开文件')if __name__ == '__main__':    app = QApplication(sys.argv)    mw = fileClass()    mw.show()    sys.exit(app.exec_())

fileUI.ui文件内容为

MainWindow
0
0
800
600
MainWindow
70
30
631
471
0
0
800
26
File
Open
Save

 

转载地址:http://cjmii.baihongyu.com/

你可能感兴趣的文章
Objective-C 基础入门(一)
查看>>
一些实战项目(linux应用层编程,多线程编程,网络编程)
查看>>
STM32CubeMX 真的不要太好用
查看>>
不要买铝合金机架的无人机,不耐摔,易变形弯曲。
查看>>
ACfly也是基于FreeRTOS的
查看>>
realsense-ros里里程计相关代码
查看>>
似乎写个ROS功能包并不难,你会订阅话题发布话题,加点逻辑处理,就可以写一些基础的ROS功能包了。
查看>>
TBUS的一些信息
查看>>
专业和业余的区别就在于你在基础在基本功打磨练习花的时间
查看>>
通过mavlink实现自主航线的过程笔记
查看>>
这些网站有一些嵌入式面试题合集
查看>>
我觉得刷题是有必要的,不然小心实际被问的时候懵逼,我觉得你需要刷个50份面试题。跟考研数学疯狂刷卷子一样!
查看>>
Flutter Boost的router管理
查看>>
ES7的Async/Await
查看>>
每个人都能做的网易云音乐[vue全家桶]
查看>>
Vue2.0全家桶仿腾讯课堂(移动端)
查看>>
React+Redux系列教程
查看>>
19 个 JavaScript 常用的简写技术
查看>>
iOS开发 支付之银联支付集成
查看>>
iOS开发支付集成之微信支付
查看>>