QTcpSocket通信例子python代码加注释
时间: 2023-04-07 16:02:38 浏览: 110
我可以回答这个问题。以下是一个QTcpSocket通信的例子python代码加注释:
```python
import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtNetwork import *
class Client(QWidget):
def __init__(self):
super().__init__()
self.tcpSocket = QTcpSocket(self)
self.tcpSocket.readyRead.connect(self.receiveMessage)
self.tcpSocket.error.connect(self.displayError)
self.host = '127.0.0.1' # 服务器IP地址
self.port = 6666 # 服务器端口号
self.initUI()
def initUI(self):
self.setWindowTitle('Client')
self.setGeometry(300, 300, 300, 150)
self.textEdit = QTextEdit(self)
self.textEdit.setGeometry(20, 20, 260, 100)
self.sendButton = QPushButton('Send', self)
self.sendButton.setGeometry(200, 120, 80, 25)
self.sendButton.clicked.connect(self.sendMessage)
self.show()
def sendMessage(self):
message = self.textEdit.toPlainText()
self.tcpSocket.write(message.encode())
def receiveMessage(self):
message = self.tcpSocket.readAll().data().decode()
self.textEdit.append(message)
def displayError(self, socketError):
if socketError == QAbstractSocket.RemoteHostClosedError:
pass
else:
QMessageBox.warning(self, 'Error', 'Error: {}'.format(self.tcpSocket.errorString()))
if __name__ == '__main__':
app = QApplication(sys.argv)
client = Client()
client.tcpSocket.connectToHost(client.host, client.port)
sys.exit(app.exec_())
```
这是一个简单的客户端程序,用于与服务器进行TCP通信。用户可以在文本框中输入消息,然后点击“Send”按钮发送消息给服务器。当客户端接收到服务器的消息时,它会将消息显示在文本框中。
注意:这只是一个例子,实际使用时需要根据具体情况进行修改。
阅读全文