捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >Pyqt5 > 正文
23 2018.04

(PYQt5和QT designer)PyQt5学习入门-4-文件读写框

点击次数:6637 更新时间:2018/4/23 21:27:57  【打印此页

摘要:

本文主要是介绍如何PYQT5中如何使用文件的读取/保存的框。具体来说,本文实现一个,点击读取按键可以弹出文件选择框,选取相应文件后在文本框中输出文件的内容。另外,也可以文件的保存。

效果图:

 

 

2.实现的功能

我们希望能够点击 读取 按键的时候弹出文件选择框,选择文件后输出文件的内容。

另外,我们可以在文本输入窗口中输入文本后点击保存,保存到自己指定的文件中。

 


 

3.实现步骤

步骤1:

新建一个widget子窗口。

步骤2:

界面的设计非常简单。包含以下几个组件:

1.

2.

3.

4.

把这些组件拖拽进来,按照喜欢的方式排列,例如可以排列成下图(我已经布过局的):

 

步骤3:编辑两个按键的信号/槽线(这个在前面文章已经提到了)

 

将读取按键的信号触发选择点击,槽的名字(函数名字)为read()

将保存按键的信号触发选择点击,槽的名字(函数名字)为save()

如下图:

 

保存,保存名为test.ui(名字任取)

 

步骤4:从.ui生成.py文件(这个在第一篇文章已经介绍了)

 

pyuic5 -o test.py test.ui  


 

步骤5:编写main文件(这个在第一篇文章已经介绍了)

程序的主体框架和前面的类似,就是需要自己写额外的两个槽函数。具体如下:

from PyQt5 import QtWidgets  
from test import Ui_Form  
from PyQt5.QtWidgets import QFileDialog  
  
class MyWindow(QtWidgets.QWidget,Ui_Form):  
   def __init__(self):  
       super(MyWindow,self).__init__()  
       self.setupUi(self)  
   def read(self):  
       file_name,ok=QFileDialog.getOpenFileName(self,'读取','/home')  
       if ok :  
          _f=open(file_name,'r')  
          with _f:  
             data=_f.read()  
             self.textBrowser.append(data)  
          self.textBrowser.append("读取成功...")  
   def save(self):  
       file_name,ok=QFileDialog.getSaveFileName(self,'读取','/home')  
       if ok:  
          _f=open(file_name,'w')  
          _f.write(str(self.plainTextEdit.toPlainText()))  
          self.textBrowser.append("保存成功...")  
if __name__=="__main__":  
    import sys  
    app=QtWidgets.QApplication(sys.argv)  
    myshow=MyWindow()  
    myshow.show()  
    sys.exit(app.exec_())  


这段程序其实和我们前面写过的类似。只有以下几点不同。

 

from PyQt5.QtWidgets import QFileDialog  

导入了一个新的库。这个库是和文件窗口相关的。

 

def read(self):  
    file_name,ok=QFileDialog.getOpenFileName(self,'读取','/home')  
    if ok :  
       _f=open(file_name,'r')  
       with _f:  
          data=_f.read()  
          self.textBrowser.append(data)  
       self.textBrowser.append("读取成功...")  

read函数,是读取的按键点击时时候触发的行为。

弹出文件选择框的核心程序只有一句就是下面这句:

file_name,ok=QFileDialog.getOpenFileName(self,'读取','/home')  

getOpenFileName第一个参数是self

第二参数是文件读取框的名字。

第三参数是默认的路径。(windows用户需要稍微一下)

 

-----------------------------------------------------------------------

返回的两个参数,第一个参数是选择的文件的文件名

第二个参数是状态,当正确选择文件名后才会返回True,否则返回False,用以判断是否读取成功。

同理对于save函数也是类似。只是保存文件的时候用的是下面这句:

file_name,ok=QFileDialog.getSaveFileName(self,'保存','/home')  


这里还有一点就是关于文档编辑器是如何读取我们输入的内容的?非常简单的,用的是下面这句:

self.plainTextEdit.toPlainText()  

plainTextEdit是文档编辑器这个对象的名字。toPlainText()就是读入当前的文档编辑器的内容。(组件的使用详见其他章节)

 

 

至此,我们就完成了通过文件选择框来进行文件读取和写入两个任务。

 

Tips
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:6637 更新时间:2018/4/23 21:27:57  【打印此页
关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修