我用pyqt5写了一个界面,但是不知道怎么接收客户端收到的信息

我用pyqt5写了一个界面,其他人写的客户端,和服务端的模块,
但是现在我有点蒙,怎么把客户端接收到的给我的界面啊,,,,,,,

from socket import *
import threading
import sys
import os
import signal

def denglu():

while True:

    name = input("请输入登录姓名:")
    mima = input("请输入密码:")
    msg = "D %s %s" % (name, mima)

    HOST = '0.0.0.0'
    PORT = 8888
    ADDR = (HOST, PORT)
    s = socket(AF_INET, SOCK_STREAM)
    s.connect((HOST, PORT))

    # 发送登录请求
    s.send(msg.encode())
    # 判断是否可以登录
    data = s.recv(1024).decode()
    if data[0:2] == 'OK':
        return s, name, data
        break

    else:
        # 不能登录的原因
        print(data)
        s.close()
        if data == "您输入的密码错误" or "您输入的用户名不存在":
            continue

def zhuce():

while True:
    name = input("请输入注册姓名:")
    mima = input("请输入密码:")
    msg = "L %s %s" % (name, mima)

    HOST = '0.0.0.0'
    PORT = 8888
    ADDR = (HOST, PORT)
    s = socket(AF_INET, SOCK_STREAM)
    s.connect((HOST, PORT))
    # 发送登录请求
    s.send(msg.encode())
    # 判断是否可以登录

    data = s.recv(1024).decode()
    if data == "用户已存在":
        s.close()
    print(data)
    break

子进程

def do_child(s, name):
while True:
text = "\n"+input()
# 退出
if text.strip() == 'quit':
msg = 'Q ' + name
s.send(msg.encode())
# 从子进程中杀死父进程
os.kill(os.getppid(), signal.SIGKILL)
sys.exit("退出聊天室")
# 聊天
else:
msg = "R %s %s" % (name, text)
s.send(msg.encode())

父进程接受服务器所有消息

def do_parent(s):
while True:
msg = s.recv(1024).decode()

    print(msg)

def chat_one():
pass

def chat_record():
pass

def main():
# 创建套接字

# 启动客户端即需要登录或注册
while True:

    xuanze = input("鼠标(D)登录,鼠标(L)注册")
    if xuanze == 'D':

        s, name, data = denglu()
        print(data)

        break

    if xuanze == 'L':
        t1 = threading.Thread(target=zhuce)
        t1.start()
        t1.join()

# 创建父子进程用于发送和接受消息
pid = os.fork()
if pid < 0:
    sys.exit("创建子进程失败")
elif pid == 0:
    do_child(s, name)
else:
    do_parent(s)

if name == "__main__":
main()

这个是主界面
(还没完成,想试试,没有吧包都引进来所以不能运行)
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui, QtWidgets
from Ui_mainwindows import Ui_MainWindow
import dengru, zhuce

class myLabel(QLabel):
def init(self,parent = None):
super(myLabel,self).__init__(parent)

def mousePressEvent(self, e):##重载一下鼠标点击事件
    print ('you clicked the label')
    """
    先调用对话宽
    """
    self.another=dengru.deng_ru()
    self.another.show() 

def mouseReleaseEvent(self, QMouseEvent):
    print ('you have release the mouse')

class MainWindow(QMainWindow, Ui_MainWindow):
"""
Class documentation goes here.
"""
def init(self, parent=None):
"""
Constructor

    @param parent reference to the parent widget
    @type QWidget
    """
    super(MainWindow, self).__init__(parent)
    self.setupUi(self)
    self.add()
    self.Show()


@pyqtSlot()
def on_pushButton_3_clicked(self):
    """
    Slot documentation goes here.
    保存记录
    """
    # TODO: not implemented yet
    try:
        filename=QFileDialog.getSaveFileName(self,'save file','/')
        with open(filename[0],'w') as f:
            my_text=self.textBrowser_2.toPlainText()
            f.write(my_text)
            f.close()
    except OSError:
        pass

@pyqtSlot()
def on_pushButton_5_clicked(self):
    """
    Slot documentation goes here.
    清屏
    """
    # TODO: not implemented yet
    self.textBrowser_2.setText("")

@pyqtSlot()
def on_pushButton_4_clicked(self):
    """
    Slot documentation goes here.
    打开文件
    """
    # TODO: not implemented yet
    try:
        filename=QFileDialog.getOpenFileName(self,'open file','/')
        with open(filename[0],'r') as f:
            my_txt=f.read()
            self.textEdit.setPlainText(my_txt)
            f.close()
    except OSError:
        pass
@pyqtSlot()
def on_pushButton_2_clicked(self):
    """
    Slot documentation goes here.
    清除
    """
    # TODO: not implemented yet
    self.textEdit.setText("")

@pyqtSlot()
def on_pushButton_clicked(self):
    """
    Slot documentation goes here.
    发送
    """
    """这里可以用登入信息控制发送信息,以便区别登入
    (先设置一个变量,没有登入为flase,登入为true,任何用于
    登入之后每次发送信息用)"""
    text= self.textEdit.toPlainText()
    self.textBrowser_2.append("111:"+text)
    self.textEdit.setText("")
    return txet

@pyqtSlot()
def on_pushButton_7_clicked(self):
    """
    Slot documentation goes here.
    官网
    """
    # TODO: not implemented yet
    raise NotImplementedError

@pyqtSlot()
def on_pushButton_8_clicked(self):
    """
    Slot documentation goes here.
    注册
    返回一个值给客户端
    """
    # TODO: not implemented yet
    self.another=zhuce.ZhuCe()
    self.another.show() 

@pyqtSlot()
def on_pushButton_6_clicked(self):
    """
    Slot documentation goes here.
    登入按钮
    调用另一个py的类生成对象,然后对象调用show()
    返回一个值给客户端
    """
    # TODO: not implemented yet
    self.another=dengru.deng_ru()
    self.another.show() 


def closeEvent(self, event):
    """
    退出弹框
    """

    reply = QMessageBox.question(self, '信息', '确认退出吗?', 
        QMessageBox.Yes | QMessageBox.No, QMessageBox.No)

    if reply == QMessageBox.Yes:
        event.accept()
    else:
        event.ignore()




def add(self):
    label1 = myLabel(self)
    label1.setText("TextLabe1")
    self.verticalLayout_3.addWidget(label1)

    label1 = myLabel(self)
    label1.setText("TextLabe2")
    self.verticalLayout_3.addWidget(label1)




def  Show(self):
    name="222:"
    data ="xxxx"
    self.textBrowser_2.append(name+data)

if name == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
ui = MainWindow()
ui.show()
sys.exit(app.exec_())

https://blog.csdn.net/qq_28792801/article/details/80973927