关闭

QT开发之最简客户端

66人阅读 评论(0) 收藏 举报
分类:

首先下载一个网络调试助手,测试自己写的客户端对不对。


1、配置

如果使用的QT Creator,在pro中添加QT += network

如果使用的VS+QT,选中项目->菜单QT5->Qt Project Settings->Qt Modules->选着Network多选按钮

2、UI

界面摆放:

2个QLineEdit:一个输入IP地址,一个输入端口号

2个PushButton:一个连接服务端按钮,一个发送数据按钮

2个QTextEdit:一个接收服务端数据显示,一个发送数据显示

3、头文件

#include <QTcpSocket>

QTcpSocket *socket;

private slots:中添加void socket_Read();//接收数据的信号,用来调用QTextEdit显示服务端数据

4、Cpp

构造函数中:

socket = new QTcpSocket();

QObject::connect(socket, &QTcpSocket::readyRead, this, &Dialog::socket_Read);//槽函数

析构函数:

delete this->socket;//VS中有问题

连接按钮槽函数中:

QString IP;

int port;

//获取IP地址

IP = ui->lineEdit->text();

//获取端口号

port = ui->lineEdit2->text().toInt();

//取消已有的连接

socket->abort();

//连接服务器

socket->connectToHost(IP, port);

//等待连接成功

if(!socket->waitForConnected(10000))

{

return;

}

else

{

ui->pushbutton1->setEbabled(false);

}

发送按钮槽函数中:

socket->write(ui->textEdit2->toPlainText().toLatin1());//获取需要发送编辑框中数据发送
socket->flush();

Read槽函数:

QByteArray buffer;
//读取缓冲区数据
buffer = socket->readAll();
if(!buffer.isEmpty())
{
        QString str = ui->textEdit2->toPlainText();
        str+=tr(buffer);
        //刷新显示
        ui->textEdit2->setText(str);
}

大概就是这样,也就几十行代码,可以用网络调试助手测试下。






0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:61546次
    • 积分:2004
    • 等级:
    • 排名:千里之外
    • 原创:137篇
    • 转载:12篇
    • 译文:0篇
    • 评论:14条
    最新评论