资源简介
使用Qt中的tcp协议,构建服务器和客户端的界面,实现交互通信,如聊天功能,此为一个简单的例子,但实现了所有的基本功能,富有参考性
代码片段和文件信息
#include “clientwidget.h“
#include “ui_clientwidget.h“
#include
#include
#include
#include
ClientWidget::ClientWidget(QWidget *parent) :
QWidget(parent)
ui(new Ui::ClientWidget)
{
ui->setupUi(this);
this->setWindowtitle(“客户端“);
this->resize(500300);
this->setMinimumSize(500300);
tcpSocket = new QTcpSocket(this);
connect(tcpSocket&QTcpSocket::connected
[=]()
{
ui->textEditRead->setText(“与服务器成功连接“);
qDebug() << “连接成功“;
}
);
connect(tcpSocket&QTcpSocket::readyRead
[=]()
{
QByteArray array = tcpSocket->readAll();
ui->textEditRead->append(array);
}
);
ui->ButtonSend->setFocus();
ui->ButtonSend->setDefault(true);
//ui->ButtonSend->setShortcut(Qt::Key_Enter|Qt::Key_Return);
ui->textEditWrite->installEventFilter(this);//设置完后自动调用其eventFilter函数
}
ClientWidget::~ClientWidget()
{
delete ui;
}
void ClientWidget::on_ButtonConnect_clicked()
{
//获取服务器端口和ip
QString ip = ui->lineEditIp->text();
qint16 port = ui->lineEditPort->text().toInt();
//与服务器进行连接
tcpSocket->connectToHost(QHostAddress(ip)port);
}
void ClientWidget::on_ButtonSend_clicked()
{
//获取编辑框内容
QTime cur_time = QTime::currentTime();
QString str = ui->textEditWrite->toPlainText();
QString time_info = cur_time.toString(“hh:mm:ss“);
QString str_info = QString(“客户端: %1 [%2]“).arg(str).arg(time_info);
//发送数据
tcpSocket->write(str_info.toUtf8().data());
ui->textEditWrite->clear();
//ui->textEditWrite->setFocus();
}
void ClientWidget::on_ButtonClose_clicked()
{
//主动断开连接
tcpSocket->disconnectFromHost();
ui->textEditRead->setText(“与服务器断开连接!“);
tcpSocket->close();
}
bool ClientWidget::eventFilter(Qobject *target QEvent *event)
{
if(target == ui->textEditWrite)
{
if(event->type() == QEvent::KeyPress)//回车键
{
QKeyEvent *k = static_cast(event);
if(k->key() == Qt::Key_Return)
{
on_ButtonSend_clicked();
return true;
}
}
}
return QWidget::eventFilter(targetevent);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-02-19 16:43 TCP打包\DemoText10_TCPServer_01\
文件 2603 2020-02-19 12:19 TCP打包\DemoText10_TCPServer_01\clientwidget.cpp
文件 605 2020-02-19 11:57 TCP打包\DemoText10_TCPServer_01\clientwidget.h
文件 2432 2019-08-25 15:28 TCP打包\DemoText10_TCPServer_01\clientwidget.ui
文件 1356 2019-08-25 15:14 TCP打包\DemoText10_TCPServer_01\DemoText10_TCPServer_01.pro
文件 252 2019-08-25 15:37 TCP打包\DemoText10_TCPServer_01\main.cpp
文件 3522 2020-02-19 12:19 TCP打包\DemoText10_TCPServer_01\serverwidget.cpp
文件 699 2020-02-19 12:00 TCP打包\DemoText10_TCPServer_01\serverwidget.h
文件 1532 2019-08-25 15:55 TCP打包\DemoText10_TCPServer_01\serverwidget.ui
- 上一篇:Qt纯代码记事本.zip
- 下一篇:STM32f103vET6 最小系统原理图
相关资源
- Qt纯代码记事本.zip
- QT实战,利用定时器QTimer实现图片的移
- draw_qwidget.zip
- QT实现多人屏幕共享系统.rar
- DrawBorad.tar.xz
- 笔趣阁小说器
- QT串口通信实例62216
- qt_opengl_obj.zip
- 基于Qt实现的多人聊天
- 基于QT的三连棋井字棋游戏
- QT自定义风格qss得日历
- Qt动态进度条
- 用QT5写简单的串口调试工具
- QT实现摄像头采集图像并截图
- qt下人脸识别
- Qt自定义皮肤
- QT(5.6) 实现IP地址输入控件
- QT实现图片的二值化与灰度化
-
QT4 xm
l与QTableWidget的结合,QTableWid - QWidget加载QML界面,并通过信号槽交互
- S5PV210 友善之臂开发板 步进电机程序
- 基于QT开发的读取微软xbox手柄读写信
- 移远EC20 MQTT协议文档 英文
- 基于TCP协议编程的网络聊天室
- 网上爬的某学院PyQt教学视频
- QT计算器,画图,闹钟,秒表,倒计时
- QT开发的小程序:输入数字音乐简谱,
- Qt 仿QQ图片查看器
- Qt利用TCP实现客户端与服务器端的数据
- QT:一个简洁美观的自定义温度控件
评论
共有 条评论