weixin_43979105
所以我是纠结症患者
2020-05-13 17:44
采纳率: 50%
浏览 2.2k

pyqt5做界面,如何通过按钮获取指定的txt文件中的文本内容,然后显示到文本框中?

如图,点击翻译按钮,把txt中的文字显示到上面的文本框中去图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • weixin_45733764
    卢咕鸡 2020-05-15 11:19
    已采纳

    思路如下:1)打开文件并读取其内容;2)设置翻译按钮的动作指令,即将文本内容添加至文本框中。

    fileAddress = "D:/咕咕鸡系列/咕咕鸡.txt"             # 文件路径
    file = open(fileAddress, 'r')                       # fileAddress为txt文件的路径
    fileContent = file.readlines()                      # 读取文件内容
    file.close()                                        # 关闭文件
    

    然后在编译翻译按钮的动作,即:

    @pyqtSlot()
    def translatePushButton clicked(self):      # 翻译按钮变量名为translatePushButton
                    self.textEdit.setPlainText(fileContent)      # 文本框变量名为textEdit
    
    点赞 1 评论
  • a316495442
    杨凤霞 2020-05-13 19:31

    from PyQt5.QtWidgets import QApplication,QWidget,QTextEdit,QVBoxLayout,QPushButton
    import sys
    class TextEditDemo(QWidget):
    def init(self):
    super().__init__()
    self.setWindowTitle('Text')
    #定义窗口的初始大小 (300,270)
    self.setGeometry(0,0,200,200)
    #创建多行文本框
    self.textEdit=QTextEdit()
    #创建按钮
    self.btn=QPushButton('翻译')
    #实例化垂直布局
    layout=QVBoxLayout()
    #相关控件添加到垂直布局中
    layout.addWidget(self.textEdit)
    layout.addWidget(self.btn)
    #设置布局
    self.setLayout(layout)
    #将按钮的点击信号与相关的槽函数进行绑定,点击即触发
    self.btn.clicked.connect(self.click)

    def click(self):
        #以文本的形式输出到多行文本框
        with open('tmp.txt','r') as f:
            msg=f.read()
            self.textEdit.setPlainText(msg)
    

    if name == '__main__':
    app=QApplication(sys.argv)
    w=TextEditDemo()
    w.show()
    sys.exit(app.exec_())

    点赞 评论

相关推荐