界面代码如下
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_())
想做的子界面的演示效果如图:
求大佬们看看,给点帮助!