Qt C++实现局域网聊天

本人作为一个Qt c++萌新,需要一些实战项目练练手,我就使用qt实现了一个局域网聊天小程序,在同一个局域网内的两个进程通过同一个端口进行通信,目前只实现了聊天,文件传输需要后续项目实现。

一、准备

需要c++基础知识,以及qt的基础。这个程序是在Ubuntu环境下编写并测试的,当然Qt作为一个跨平台C++图形用户界面应用程序开发框架,其跨平台特性是非常优秀的。

二、开始

1、安装Qt5,目前官方最新的版本是Qt5.11.2,Qtcreator4.7.6。

选择qt-opensource-linux-x64-5.11.2.run,然后在下载目录下,./qt-opensource-linux-x64-5.11.2.run进行安装,需要创建账号,一般都会安装qt5和qtcreator,然后我安装的是qt5.11.1。qtcreator4.6.2

2、代码
(1)新建一个widget项目

(2)、添加一个c++类,并继承自QDialog,类似于这样。
这个类是实现的登录框,下图是类的细节。

先检查网络,如果连网,那么就可以登录。


lookupHost()函数,将结果给QhostInfo,此处是使用的百度地址。
①okBtnClicked():

(3)在widget类里面实现聊天。
①这是主界面
②类的细节


③ 代码:
这是在构造函数中的connect,upd使用bind之前登录使用的port,使用shareAddress和ReuseAddressHint实现地址和端口的重用。

这是用户进入之后,用户列表添加用户,使用的是QTableWidgetItem

这是用户离开处理,通过退出按钮来触发,如果当前用户大于等于2才退出。


下图是发送和接收函数,


三、最后
最终运行效果如图

登录后进行聊天

然后是退出

四、结语
大致就这样了,这是一个基于UDP的聊天程序,本来是要实现文件传输的,但文件传输应当使用TCP,所以放在后续项目实现。

Qt C++局域网聊天(一)相关推荐

  1. Qt python局域网聊天(二)

    Qt python局域网聊天 一.准备 工欲善其事,必先利其器,要想成员一个优秀的程序员,一款强大的,合适的IDE或编辑器是无可或缺的,当然大牛除外,本次项目使用的是Vscode,系统环境是Ubunt ...

  2. QT实现局域网聊天工具(带UDP文件传输)

    三年多以前刚学习QT写的一个局域网聊天工具小项目. 由于是初学QT时写的,代码比较简略,也没时间好好整理项目,仅供大家参考相关TCP以及UDP的连接与传输功能   以及相关控件的基本使用方法. 1. ...

  3. 基于Qt的P2P局域网聊天及文件传送软件设计

    基于Qt的P2P局域网聊天及文件传送软件设计 zouxy09@qq.com http://blog.csdn.net/zouxy09         这是我的<通信网络>的课程设计作业,之 ...

  4. Qt 局域网聊天(功能完善,界面美观,免费下载)

    Qt 局域网聊天(功能完善,界面美观,免费下载) 高清截图 登陆界面 聊天界面 GIF 登陆界面 发送消息 发送图片 设置头像 历史消息 查看名称 房间人数 调整大小 窗体全屏 截屏(最新的Ubunt ...

  5. 基于Qt的QQ局域网聊天

    近几日闲来无事,便想做个东西玩玩,敲敲代码,取取经,玩玩Qt,做点小Demo.参考多方资料,结合了众多网友的技术,做了一个基于Qt的QQ局域网聊天软件. 源码下载:https://joeyos.git ...

  6. Qt局域网聊天(私聊/截图/文件/语音)

    本次设计是一个简易的局域网聊天,功能设计主要分为群聊和私聊两部分,每部分都支持基础聊天以及文件传输功能,私聊页面相较于主页面支持更多功能,例如表情发送.窗口抖动,语音聊天等.参考了<Qt及Qt ...

  7. Qt局域网聊天(群聊和私聊)

    本次设计是一个简易的局域网聊天,功能设计主要分为群聊和私聊两部分,每部分都支持基础聊天以及文件传输功能.参考了<Qt及Qt Quick开发实战精解>中群聊实例,在群聊的基础设计了私聊这部分 ...

  8. 40.qt quick- 高仿微信实现局域网聊天V4版本(支持gif动图表情包、消息聊天、拖动缩放窗口、支持Linux编译)...

    在上章https://blog.csdn.net/qq_37997682/article/details/119589754我们已经实现了: 添加登录界面. UDP校验登录. 皮肤更换. 3D旋转(主 ...

  9. Qt Quick实现局域网聊天V4版本(支持GIF动图表情包、消息聊天、拖动缩放窗口、支持Linux编译)

    Qt Quick实现局域网聊天V4版本(支持GIF动图表情包.消息聊天.拖动缩放窗口.支持Linux编译) 随着社交网络的普及,人们的聊天方式也变得更加高效和便捷.在这里,我们将利用Qt Quick构 ...

最新文章

  1. 计算机c语言循环作业,C语言计算机作业编程.doc
  2. volatile原理与技巧
  3. django-vue-admin脚手架快速开发CRUD教程
  4. Linux纯干货知识总结|面试专用
  5. 如何在 ASP.Net Core 中使用 Lamar
  6. AC_Dream 1211 Reactor Cooling
  7. RT-Thread Stduio 增加一个串口3
  8. 结伴自驾游必备,高德地图上线组队实时对讲功能
  9. JavaScript封装对象和类
  10. 十二栋发布新品牌BC12 能否成衍生品市场黑马?
  11. python学习-获取时光网电影TOP100电影信息
  12. linux glog使用
  13. android 第三方相册,相册选择图片
  14. 【python】验证“哥德巴赫猜想” (20 分)(简单方法,秒懂!)
  15. 21天学会c++(英汉对照,个人翻译,水平有限,供参考)-------第2天
  16. iOS 作为蓝牙外设广播信息
  17. 回复热爱计算机的数控生
  18. css属性选择器诸如Class^=,Class*= ,Class$=释义
  19. 瑞萨16 位R8C/TINY 系列单片机
  20. 微信小程序使用蓝牙连接设备流程

热门文章

  1. 【postgres】超详细介绍
  2. 基于STM32对于光敏电阻传感器的光控应用
  3. TCPDF生成PDF文件方法教程说明
  4. MySQL 数据库定时备份
  5. 数据结构:数组和广义表
  6. 算术编码 matlab程序,实验二算术编码及MATLAB实现.doc
  7. Matlab中将行向量转为列向量的方法
  8. 变色龙哈希函数Chameleon Hash Functions
  9. How to modify comment and attribute ClearCase
  10. vue 中监听监听按键