Qt C++局域网聊天(一)
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++局域网聊天(一)相关推荐
- Qt python局域网聊天(二)
Qt python局域网聊天 一.准备 工欲善其事,必先利其器,要想成员一个优秀的程序员,一款强大的,合适的IDE或编辑器是无可或缺的,当然大牛除外,本次项目使用的是Vscode,系统环境是Ubunt ...
- QT实现局域网聊天工具(带UDP文件传输)
三年多以前刚学习QT写的一个局域网聊天工具小项目. 由于是初学QT时写的,代码比较简略,也没时间好好整理项目,仅供大家参考相关TCP以及UDP的连接与传输功能 以及相关控件的基本使用方法. 1. ...
- 基于Qt的P2P局域网聊天及文件传送软件设计
基于Qt的P2P局域网聊天及文件传送软件设计 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<通信网络>的课程设计作业,之 ...
- Qt 局域网聊天(功能完善,界面美观,免费下载)
Qt 局域网聊天(功能完善,界面美观,免费下载) 高清截图 登陆界面 聊天界面 GIF 登陆界面 发送消息 发送图片 设置头像 历史消息 查看名称 房间人数 调整大小 窗体全屏 截屏(最新的Ubunt ...
- 基于Qt的QQ局域网聊天
近几日闲来无事,便想做个东西玩玩,敲敲代码,取取经,玩玩Qt,做点小Demo.参考多方资料,结合了众多网友的技术,做了一个基于Qt的QQ局域网聊天软件. 源码下载:https://joeyos.git ...
- Qt局域网聊天(私聊/截图/文件/语音)
本次设计是一个简易的局域网聊天,功能设计主要分为群聊和私聊两部分,每部分都支持基础聊天以及文件传输功能,私聊页面相较于主页面支持更多功能,例如表情发送.窗口抖动,语音聊天等.参考了<Qt及Qt ...
- Qt局域网聊天(群聊和私聊)
本次设计是一个简易的局域网聊天,功能设计主要分为群聊和私聊两部分,每部分都支持基础聊天以及文件传输功能.参考了<Qt及Qt Quick开发实战精解>中群聊实例,在群聊的基础设计了私聊这部分 ...
- 40.qt quick- 高仿微信实现局域网聊天V4版本(支持gif动图表情包、消息聊天、拖动缩放窗口、支持Linux编译)...
在上章https://blog.csdn.net/qq_37997682/article/details/119589754我们已经实现了: 添加登录界面. UDP校验登录. 皮肤更换. 3D旋转(主 ...
- Qt Quick实现局域网聊天V4版本(支持GIF动图表情包、消息聊天、拖动缩放窗口、支持Linux编译)
Qt Quick实现局域网聊天V4版本(支持GIF动图表情包.消息聊天.拖动缩放窗口.支持Linux编译) 随着社交网络的普及,人们的聊天方式也变得更加高效和便捷.在这里,我们将利用Qt Quick构 ...
最新文章
- 计算机c语言循环作业,C语言计算机作业编程.doc
- volatile原理与技巧
- django-vue-admin脚手架快速开发CRUD教程
- Linux纯干货知识总结|面试专用
- 如何在 ASP.Net Core 中使用 Lamar
- AC_Dream 1211 Reactor Cooling
- RT-Thread Stduio 增加一个串口3
- 结伴自驾游必备,高德地图上线组队实时对讲功能
- JavaScript封装对象和类
- 十二栋发布新品牌BC12 能否成衍生品市场黑马?
- python学习-获取时光网电影TOP100电影信息
- linux glog使用
- android 第三方相册,相册选择图片
- 【python】验证“哥德巴赫猜想” (20 分)(简单方法,秒懂!)
- 21天学会c++(英汉对照,个人翻译,水平有限,供参考)-------第2天
- iOS 作为蓝牙外设广播信息
- 回复热爱计算机的数控生
- css属性选择器诸如Class^=,Class*= ,Class$=释义
- 瑞萨16 位R8C/TINY 系列单片机
- 微信小程序使用蓝牙连接设备流程