如何将套接字添加到listWidget

How to add socket into listWidget

我需要帮助将 python 的套接字对象添加到 PyQt5 listWidget。 首先,我在线程服务器

中做这件事
client, addr = self.s.accept()
self.clients.append(client)

然后在 QTclass 我正在尝试做这些事情

class win(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.server = Server()
        self.timer = QTimer()
        self.timer.timeout.connect(self.update)

    def clUpdate(self):

        self.ui.ListWidget.addItems(self.server.clients)

但是当客户端连接到服务器时我遇到了这个异常

TypeError: index 0 has type 'socket' but 'str' is expected

那么如何将套接字添加到 listWidget?我想稍后使用它,例如,从 listWidget

向特定客户端发送消息

我试过听写,现在可以正常使用了

服务器

client, addr = self.s.accept()
self.clients[str(client)] = client

QT

class win(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.server = Server()
        self.timer = QTimer()
        self.timer.timeout.connect(self.update)
    def update(self):      
        itemsTextList = [str(self.ui.listWidget.item(i).text())for i in range(self.ui.listWidget.count())] 
        for key in self.server.clients:
            if key not in itemsTextList:
                self.ui.listWidget.addItem(key)