所以我是纠结症患者 2020-05-12 23:01 采纳率: 50%
浏览 1991

【python pyqt5做的界面】如何获取后台txt文本中的内容,打印到文本框中?

界面代码如下

ui_1.py

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'ui_1.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(780, 577)
        MainWindow.setStyleSheet()
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.frame = QtWidgets.QFrame(self.centralwidget)
        self.frame.setGeometry(QtCore.QRect(-20, 0, 1011, 701))
        self.frame.setStyleSheet("")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.pushButton = QtWidgets.QPushButton(self.frame)
        self.pushButton.setGeometry(QtCore.QRect(320, 470, 161, 61))
        font = QtGui.QFont()
        font.setFamily("Century Gothic")
        font.setPointSize(-1)
        font.setBold(True)
        font.setWeight(75)
        self.pushButton.setFont(font)
        self.pushButton.setObjectName("pushButton")
        self.lineEdit = QtWidgets.QLineEdit(self.frame)
        self.lineEdit.setGeometry(QtCore.QRect(300, 280, 211, 31))
        self.lineEdit.setObjectName("lineEdit")
        self.checkBox = QtWidgets.QCheckBox(self.frame)
        self.checkBox.setGeometry(QtCore.QRect(260, 410, 111, 16))
        self.checkBox.setObjectName("checkBox")
        self.label = QtWidgets.QLabel(self.frame)
        self.label.setGeometry(QtCore.QRect(430, 410, 121, 20))
        self.label.setObjectName("label")
        self.lineEdit_3 = QtWidgets.QLineEdit(self.frame)
        self.lineEdit_3.setGeometry(QtCore.QRect(300, 330, 211, 31))
        self.lineEdit_3.setEchoMode(QtWidgets.QLineEdit.Password)
        self.lineEdit_3.setObjectName("lineEdit_3")
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "Just talk"))
        self.pushButton.setText(_translate("MainWindow", "Login"))
        self.lineEdit.setPlaceholderText(_translate("MainWindow", "Name"))
        self.checkBox.setText(_translate("MainWindow", "Remember me"))
        self.label.setText(_translate("MainWindow", "Forgot password?"))
        self.lineEdit_3.setPlaceholderText(_translate("MainWindow", "Password"))

ui_2.py

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'ui_2.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!
import os
import time

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import QTimer, QBasicTimer
from PyQt5.QtWidgets import QPushButton

with open("D:\\BY\\speech_recog\\now.txt", "r") as f1:
    data1 = f1.read()
with open("D:\\BY\\speech_recog\\now2.txt", "r") as f2:
    data2 = f2.read()
with open("D:\\BY\\speech_recog\\now3.txt", "r") as f3:
    data3 = f3.read()
with open("D:\\BY\\speech_recog\\now4.txt", "r") as f4:
    data4 = f4.read()


class Ui_talking(object):
    def setupUi(self, talking):
        talking.setObjectName("talking")
        talking.resize(749, 478)

        self.pushButton = QtWidgets.QPushButton(talking)
        self.pushButton.setGeometry(QtCore.QRect(30, 280, 101, 41))
        self.pushButton.setObjectName("pushButton")

        self.pushButton_2 = QtWidgets.QPushButton(talking)
        self.pushButton_2.setGeometry(QtCore.QRect(630, 290, 91, 41))
        self.pushButton_2.setObjectName("pushButton_2")

        # 进度条
        self.timer = QBasicTimer()
        self.pv = 0
        self.progressBar = QtWidgets.QProgressBar(talking)
        self.progressBar.setGeometry(QtCore.QRect(140, 290, 118, 23))
        self.progressBar.setMinimum(0)
        self.progressBar.setMaximum(10)
        self.progressBar.setValue(self.pv)
        self.progressBar.setProperty("value", 0)
        self.progressBar.setObjectName("progressBar")

        self.pushButton_3 = QtWidgets.QPushButton(talking)
        self.pushButton_3.setGeometry(QtCore.QRect(360, 290, 81, 31))
        self.pushButton_3.setObjectName("pushButton_3")

        self.label = QtWidgets.QLabel(talking)
        self.label.setGeometry(QtCore.QRect(0, 10, 451, 271))
        self.label.setStyleSheet("background-image: url(:/bk/ca950f50829bfaa8d798cf1499d8eb1b.jpg);")
        self.label.setText("")
        self.label.setObjectName("label")

        self.label_2 = QtWidgets.QLabel(talking)
        self.label_2.setGeometry(QtCore.QRect(460, 10, 281, 271))
        self.label_2.setStyleSheet("background-image: url(:/bk/ca950f50829bfaa8d798cf1499d8eb1b.jpg);")
        self.label_2.setText("")
        self.label_2.setObjectName("label_2")

        self.lineEdit = QtWidgets.QLineEdit(talking)
        self.lineEdit.setGeometry(QtCore.QRect(70, 370, 131, 51))
        self.lineEdit.setObjectName("lineEdit")

        self.retranslateUi(talking)
        self.pushButton.clicked.connect(talking.open)
        self.pushButton_2.clicked.connect(talking.open_2)
        self.pushButton_3.clicked.connect(talking.open_3)
        self.pushButton.clicked.connect(self.progressBar.reset)

        self.label_2.linkActivated['QString'].connect(talking.accept)
        self.label.linkActivated['QString'].connect(talking.accept)
        self.lineEdit.textEdited['QString'].connect(talking.accept)

        QtCore.QMetaObject.connectSlotsByName(talking)
        talking.setTabOrder(self.pushButton, self.pushButton_3)
        talking.setTabOrder(self.pushButton_3, self.pushButton_2)
        talking.setTabOrder(self.pushButton_2, self.lineEdit)

    def retranslateUi(self, talking):
        _translate = QtCore.QCoreApplication.translate
        talking.setWindowTitle(_translate("talking", "Talking"))
        self.pushButton.setText(_translate("talking", "点击开始说话"))
        self.pushButton_2.setText(_translate("talking", "翻译"))
        self.progressBar.setFormat(_translate("talking", "s"))
        self.pushButton_3.setText(_translate("talking", "发送"))

    def open(self):
        os.system('python rec.py')
        time.sleep(3)
        os.system('python speech_aip.py')

    def open_2(self):
        self.label_2.setText(data3)
        QTimer.sleep(1)
        self.label_2.setText(data4)

    def open_3(self):
        self.label.insert(data1)
        QTimer.sleep(1)
        self.label.insert(data2)

run.py

import os
import time

from PyQt5.QtCore import QTimer, Qt, pyqtSignal, QObject
from PyQt5.QtGui import QImage, QPixmap, QMovie
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QFileDialog, QTabWidget, QMessageBox, QDesktopWidget, QLabel, QGridLayout
from ui_1 import Ui_MainWindow
from ui_2 import Ui_talking
import sys

with open("D:\\BY\\speech_recog\\now.txt", "r") as f1:
    data1 = f1.read()
with open("D:\\BY\\speech_recog\\now2.txt", "r") as f2:
    data2 = f2.read()
with open("D:\\BY\\speech_recog\\now3.txt", "r") as f3:
    data3 = f3.read()
with open("D:\\BY\\speech_recog\\now4.txt", "r") as f4:
    data4 = f4.read()


class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(mywindow, self).__init__()
        # self.setupUi(self)
        # QMainWindow.__init__(self)
        self.main_ui = Ui_MainWindow()
        self.main_ui.setupUi(self)


class childwindow(QtWidgets.QDialog, Ui_talking):
    def __init__(self):
        super(childwindow, self).__init__()
        self.child = Ui_talking()
        self.child.setupUi(self)


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    ui = mywindow()
    ui.setWindowTitle('Just talk')
    ui.show()
    # 开子界面,点击弹出子界面
    child = childwindow()
    push = ui.main_ui.pushButton
    push.clicked.connect(child.show)
    sys.exit(app.exec_())

想做的子界面的演示效果如图:
图片说明

求大佬们看看,给点帮助!

  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Labview机器人问题
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示