#ifndef MAINWINDOW_H #define MAINWINDOW_H

#include #include

QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE

class MainWindow : public QMainWindow { Q_OBJECT

public: MainWindow(QWidget *parent = nullptr); ~MainWindow();

private: void connectToServer(); void handleConnected(); void handleDisconnected(); void handleReadyRead();

private: Ui::MainWindow *ui; QTcpSocket *socket; };

#endif // MAINWINDOW_H

.cpp文件:mainwindow.cpp

#include "mainwindow.h" #include "ui_mainwindow.h" #include

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); socket = new QTcpSocket(this);

connect(ui->pushButton, &QPushButton::clicked, this, &MainWindow::connectToServer);
connect(socket, &QTcpSocket::connected, this, &MainWindow::handleConnected);
connect(socket, &QTcpSocket::disconnected, this, &MainWindow::handleDisconnected);
connect(socket, &QTcpSocket::readyRead, this, &MainWindow::handleReadyRead);

}

MainWindow::~MainWindow() { delete ui; }

void MainWindow::connectToServer() { ui->textEdit->clear(); ui->textEdit->append("正在连接中...");

socket->connectToHost("服务器IP地址", 1234); // 替换为实际的服务器IP地址和端口号

}

void MainWindow::handleConnected() { ui->textEdit->append("连接成功!");

// 向服务器发送userid
QString userid = "123"; // 替换为实际的userid
socket->write(userid.toUtf8());

}

void MainWindow::handleDisconnected() { ui->textEdit->append("连接失败!"); }

void MainWindow::handleReadyRead() { QString suggestion = QString(socket->readAll()); ui->textEdit->append(suggestion); }

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include QMainWindow#include QTcpSocketQT_BEGIN_NAMESPACEnamespace Ui class MainWindow; QT_END_NAMESPACEclass MainWindow public QMainWindow Q_OBJECTpublic

原文地址: https://www.cveoy.top/t/topic/iBec 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录