当前位置:   article > 正文

Qt之上位机开发实战(二)_qt上位机开发csdn

qt上位机开发csdn

Qt的网络编程

网络编程包括TCP和UDP TCP的编程需要用到两个类:QTcpServer和QTcpSocket 本节将完成一个TCP服务器和一个客户端 首先我们需要完成布局

在这里插入图片描述
在pro文件下添加QT += core gui network,.h文件下包含头文件#include <QTcpServer>,#include <QTcpSocket>,并且创建对象

  QTcpServer *tcpServer;
    QTcpSocket *tcpSocket;
  • 1
  • 2

添加监听端口号

tcpServer = new QTcpServer(this);
tcpSocket = new QTcpSocket(this);

tcpServer->listen(QHostAddress::Any,ui->NumEdit->text().toUInt());
connect(tcpServer,SIGNAL(newConnection()),this,SLOT(newConnection_Slot()));
  • 1
  • 2
  • 3
  • 4
  • 5

接收信息定义

void TCPServer::readyRead_Slot()
{
    QString buf;
    buf = tcpSocket->readAll();
    ui->ReceveEdit->appendPlainText(buf);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

按钮定义

void TCPServer::on_Open_clicked()
{
    tcpServer->listen(QHostAddress::Any,ui->NumEdit->text().toUInt());
}


void TCPServer::on_Close_clicked()
{
    tcpServer->close();
}


void TCPServer::on_Close_2_clicked()
{
    tcpSocket->write(ui->SendEdit->text().toLocal8Bit().data());
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

客户端布局

在这里插入图片描述
.h文件中添加头文件#include <QTcpSocket>,对象 QTcpSocket *tcpSocekt;

添加槽函数

private slots:
    void on_OpenBT_clicked();
    void connected_Slot();
    void readyRead_Slot();
    void on_CloseBT_clicked();
    void on_SendBT_clicked();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

.cpp文件中添加功能

void Widget::on_OpenBT_clicked()
{
    tcpSocekt->connectToHost(ui->IPEdit->text(),ui->NumEdit->text().toUInt());
    connect(tcpSocekt,SIGNAL(connected()),this,SLOT());
}

void Widget::connected_Slot()
{
    connect(tcpSocekt,SIGNAL(connected(readyRead())),this,SLOT());
}
void Widget::readyRead_Slot()
{
    ui->ReceEdit->appendPlainText(tcpSocekt->readAll());
}
void Widget::on_CloseBT_clicked()
{
    tcpSocekt->close();
}


void Widget::on_SendBT_clicked()
{
    tcpSocekt->write(ui->SendEdit->text().toLocal8Bit());
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/133028?site
推荐阅读
相关标签
  

闽ICP备14008679号