【Qt C++】用CS架构写的仿腾讯QQ客户端与服务器

1.项目介绍

仿照新版QQ写的基于CS架构的仿腾讯QQ桌面应用。

开发环境与技术:Qt6.5.2,SQLite,UDP,TCP,单例模式,qss样式表。

2.实现功能

0.数据库设计

qq2user表存储用户的qq号,密码,昵称和头像。

qq2friend表存储qq号与好友qq号。一个qq号登录时显示该qq号的好友查这个表。

以qq号_好友qq号命名的表。存储与好友的聊天记录。

1.账号登录

登录界面去除自带的边框,重写鼠标点击和鼠标按压事件,实现点击任意位置都可以移动窗口。label头像显示成圆形。输入好qq号和密码后,点击radioButton同意“...协议”才可点击登录按钮。

登录查qq2user表,登录成功从获取登录的comboBox获取本次登录qq,信号和槽的方式传递给主要的widget界面,并且后来显示的widget与登录界面位置同步。

2.与单个好友UDP消息聊天

点击一个好友,会查询本qq与好友qq的以“qq号_好友qq号”命名的表,显示双方聊天记录,

头像和聊天气泡分别用QPushButton和QLabel。

对方未登录,发消息时会把聊天记录插入到双方“qq号_好友qq号”命名的表,从而实现对方登录时收到你发的信息。

对方以登录,udp传输聊天,双方实时发送接收信息,当然聊天记录同样会插入到双方“qq号_好友qq号”命名的表。

3.与单个好友TCP文件发送

点击文件按钮,显示文件对话框,选择文件发送。只有在双方都在线时才能互发文件,先把文件TCP发给服务器,服务器接收完后自动发给目标好友(好友自己点击才接收,不点击则不会接收,未实现,离线发文件未实现)。

3.演示图片

 发图片不太直观,具体项目演示见【QT C++】仿照新版腾讯QQ_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值