首先,在Qt项目中创建一个MainWindow类,并添加一个TextEdit和一个LineEdit小部件。TextEdit将用于显示聊天消息,LineEdit将用于输入用户发送的消息。
在MainWindow类中添加以下内容:
#include <QtWidgets>
#include <QtNetwork>
class MainWindow : public QWidget
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
private slots:
void connectToServer();
void readMessage();
void sendMessage();
private:
QTextEdit *m_chatHistory;
QLineEdit *m_message;
QPushButton *m_sendButton;
QTcpSocket *m_socket;
quint16 m_blockSize;
QString m_username;
};
在MainWindow类中创建了三个私有小部件:一个QTextEdit用于显示聊天历史记录,一个QLineEdit用于输入用户消息,和一个QPushButton用于发送消息。我们还定义了一个QTcpSocket用于建立连接,以及一个quint16类型的m_blockSize用于确定发送和接收消息时的块大小。
MainWindow类还包括三个私有槽:connectToServer()用于建立与服务器的连接,readMessage()用于读取来自服务器的消息,sendMessage()用于将用户消息发送到服务器。
MainWindow类的构造函数将初始化所有小部件和变量,并将它们放置在主窗口上:
MainWindow::MainWindow(QWidget *parent)
: QWidget(parent)
{
m_chatHistory = new QTextEdit();
m_message = new QLineEdit();
m_sendButton = ne