基于QT实现的在线群聊天

引言:由于自身的喜好和在校时的无聊,就产生了自己使用QT设计一个聊天app的想法。在产生这个想法和实现这些功能的过程中,遇到了很多的困难,但经过查询资料,查看文档等,也解决了这些问题,在自己的编程能力上有很大的提升。

开发环境:Windows平台,客户端:QT 服务器端:QT,数据库:sqlite3,编程语言:C++,开发软件:QT跨平台图形用户界面应用程序开发框架

基础功能:基于QT搭建的休闲在线群聊天APP,可以进行基本的聊天功能,收发聊天消息,查看在线人数,显示用户头像名称,改变聊天字体颜色,保存和导出聊天记录等功能。

技术要点:
界面UI的设计,数据库表单的设计,客户端与服务器端连接的设计,群聊天功能的设计。

服务器端:使用了UDP广播组的方法,实现多个客户端的连接,并在一个组里实现聊天这些功能。

客户端:实现用户1与用户2,用户3的在线聊天,通过连接服务器端的ip地址和端口号,加入到一个广播组中,实现聊天。 

界面UI的设计:在项目中设计了4个ui界面,分别为登录主界面,注册主界面,用户列表主界面,聊天主界面

 

 

在这些界面设计中,又添加了一些判断,跳转函数,如在登录界面里进行两次判断,第一次非空判断,输入的账号密码不能为空。第二次与数据库中用户表单进行对比判断,如果账号密码正确则登录成功,跳转到用户列表的的界面,之后点击用户加入到聊天室中进行聊天消遣,如果输入的账号密码与数据库用户表中的账号密码不一致,则弹出报错信息 。

数据库的设计:创建了一个user.db的数据库,库中只设计了一张用户USER表,里面的参数分别为账号和密码。在用户注册界面里,用户输入注册账号和密码后,就将注册的信息保存到用户表单中,在下一次登录时,就进行账号密码的比对判断。在注册函数中,也添加了判断跳转函数,提高app的安全性和可行性。

 客户端与服务器端的连接设计:在为了能实现群聊天功能,使用了UDP广播组的方法,在使用这个方法之前也尝试了TCP的方法,但因为能力有限,并没有实现出来。在思来想去之后,决定使用UDP的方法,UDP的优点就在于实时性大于TCP,我的想法是群聊天的第一要求一个是双方能第一时间就收到信息,所以也就选择了udp。

 群聊天的功能实现:在聊天界面UI中,添加了一些函数,如改变字体,改变字号,字体加粗,倾斜,下划线,字体颜色等都使用了信号与槽的方式连接。

在用户聊天中接收udp消息,最重要的是获取发送方的数据信息,先拿到发送方的数据报文,之后解析数据报文,最后读取到数据的类型。

用户的加入聊天和退出聊天都写了相关的函数,在这就不一一演示了。

 以上都是我自己的一些理解,各位看官也可以根据自己的想法进行优化,如若喜欢需要代码的话,请一键三连,私信我哦,看见会第一时间回复的,希望我们共同进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33648.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

媲美ChatGPT的Bard你用了吗,看起来还不错!

在这个技术日新月异的时代,人工智能已成为我们生活中不可或缺的一部分。聊天机器人,以其独特的表现形式,备受人们追捧。在这里,笔者要向大家推荐几个不错的聊天机器人网站,其中包括Google Bard。看看他自己怎么模仿某位…

Google Bard使用初体验,与ChatGPT比较到底怎么样

文章目录 Google Bard 介绍如何使用Google bardbard和ChatGPT3.5的区别 本文讲述了Google bard的入门教程和使用技巧,并且与竞争对手ChatGPT进行了一个全方面的比较。这是 Google 不能输的战役,也是全面 AI 的时刻。 Google Bard 介绍 Google Bard已经于…

使用谷歌的kaptcha进行验证码验证

使用谷歌的kaptcha进行验证码验证 我的实现思路 1. jsp页面发出请求到Controller 1. Controller层接收请求去寻找对应的验证码视图 1. 验证码视图层生成验证码 1. 返会给jsp页面进行验证码显示 具体实现 引入jar包 <!--谷歌验证码生成 jar--><dependency><…

谷歌二次验证 Google Authenticator

后台登录要搞令牌&#xff0c;类似于steam令牌、企鹅令牌等等 开启Google的登陆二步验证&#xff08;即Google Authenticator服务&#xff09;后用户登陆时需要输入额外由手机客户端生成的一次性密码。 实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责…

Google验证码Kaptcha的详细过程

使用Google验证码&#xff1a;Kaptcha 1.首先是导入jar包 2.第二步 配置jar包中的KaptchaServlet的路径 <!--配置google的验证码返回一个图片--><servlet><servlet-name>KaptchaServlet</servlet-name><servlet-class>com.google.code.kaptch…

谷歌公开测试Google Bard聊天机器人【无需排队,全面公测】

&#x1f951; Welcome to Aedream同学 s blog! &#x1f951; https://bard.google.com/ 更新&#xff01;&#xff01;&#xff01;&#xff01; bard全面放开了&#xff0c;可以用起来了&#xff0c;只需要满足网络就可以。 缺陷是暂时不支持中文 经过多年的谨慎发展&…

【Google Bard】公测已开始,与文心一言、chatGPT相比如何?

一、Google Bard简介 自从2022年11月30日&#xff0c;openAI开放聊天机器人chatGPT之后&#xff0c;其热度一直居高不下。 openAI公司成立于2015年&#xff0c;成立后不久&#xff0c;微软就对其工作给予了大力支持&#xff0c;包括资金援助、以及提供高性能服务器。 在这些…

读书笔记-别说你懂写网文

作者&#xff1a;千幻冰云 第一节 移动互联网时代的网络文学和商业化写作 1. 读者 读者分两类&#xff0c;一类是付费读者&#xff0c;一类是非付费读者。 2. 收入 决定网络写手收入的指标主要有两个&#xff1a;一是买断千字稿酬&#xff0c;一是读者订阅分成稿酬。 作者的名气…

阅文的IP梦

配图来自Canva可画 近日&#xff0c;阅文集团联合上海科技报最新发布的《2021科幻网文新趋势报告》显示&#xff0c;随着近年来互联网的不断发展&#xff0c;影响到大众生活的方方面面&#xff0c;也包括文学领域。 网文平台的创作者&#xff0c;尤其是年轻创作者的数量开始增…

魔改GPT自动写网文,速度一秒十字,还能给太监作品无限续更 | 开源

博雯 发自 凹非寺量子位 报道 | 公众号 QbitAI 如果一个人只看网文&#xff0c;那会写出来怎样的文字&#xff1f; 看了100G网文后&#xff0c;这个AI模型帮你试了一下。 先来一段自由创作&#xff1a; 乍眼看去很有内味&#xff0c;而且基本是一秒十字甚至更快的生成速度&…

外星生命或智能摆在面前,你能认出来吗?——“梯径”提供的思路

导语 外星生命一定长得像人类吗&#xff1f;最近和你火热聊天的 ChatGPT 有智能和意识吗&#xff1f;当外星智慧生命出现在眼前&#xff0c;即使它们不是我们熟悉的样子&#xff0c;我们能识别出来吗&#xff1f;是否可以用严格的数学形式来定量描述生命和智能的复杂度&#xf…

ai智能混剪批量剪辑软件开发工具|批量视频剪辑开发分享

AI智能批量剪辑系统研发主要涉及以下技术&#xff1a; 1. 视频处理技术&#xff1a;包括视频压缩、格式转换、去水印、稳定性处理等。 2. 视频剪辑技术&#xff1a;包括时间轴编辑、音视频素材分离、剪辑片段拼接等。 3. AI算法技术&#xff1a;包括图像识别、语音识别、自然…

竞彩足球分析小工具

18年世界杯时期&#xff0c;自己写了一个分析足球竞彩的小工具。工具虽然简单&#xff0c;但是可以增加购彩的乐趣。曾经这段代码差一点就丢了&#xff0c;现在拿出来给分享吧&#xff0c;这样就不用担心找不着了。作为一个普通球迷&#xff0c;边看球边买足彩也算是一种非常快…

kaggle比赛:Predict California sales prices(房价预测)

目录 1、比赛介绍&#xff1a;2、导入数据&#xff1a;3、项目构建&#xff1a;特征选择&#xff1a;预处理&#xff1a;训练&#xff1a;模型推理及保存预测结果&#xff1a; 4、上传预测结果到kaggle:5、总结&#xff1a; 本文内容来源于《动手深度学习》一书。跟着沐神做kag…

实际波动率预测:kaggle比赛

实际波动率预测 1. 比赛概述1.1 背景介绍1.2 赛事目标1.3 评估指标和结果提交 2. 数据介绍2.1 book_[train/test].parquet2.2 trade_[train/test].parquet2.3 train.csv2.4 test.csv2.5 sample_submission.csv 3. Optiver提供的[官方帮助文档](https://www.kaggle.com/jiashenl…

[Kaggle比赛] 高频股价预测小结

高频股价预测 文章目录 高频股价预测问题描述问题分析数据分析数据集数据清洗 解决方案数据预处理归一化PricesVolume时间信息对于预测值的处理噪声 模型探索基于LSTM的RNN模型递归神经网络(RNN)长短期记忆&#xff08;LSTM&#xff09;网络模型实现参数调整 卷积神经网络卷积神…

Predict Future Sales 预测未来销量, Kaggle 比赛,LB 0.89896 排名6%

Predict Future Sales 数据分析1. 数据基本处理1.1 读入数据集1.2 基线模型预测1.3 节省存储空间 2. 数据探索2.1 训练集分析 sales_train2.1.1 每件商品的销量2.1.2 每个商店的销量2.1.3 每类商品的销量2.1.4 销量和价格的离群值 2.2 测试集分析2.3 商店特征2.3.1 商店信息清洗…

世界杯押注还得看技术流,这个预测AI把赔率也算上了

胡澎 发自 凹非寺 量子位 报道 | 公众号 QbitAI 世界杯小组赛将收官&#xff0c;你还依然信AI吗&#xff1f; 冷门频出&#xff0c;黑马击败豪强。不少AI模型始料未及。 到底还能不能愉快找到科学规律&#xff1f;或者说足球比赛乃至其他竞技体育赛事&#xff0c;数据科学家在A…

足球大数据预测实战之高胜率盈亏条件验证及优化算法

上周接到一位老用户&#xff0c;之前为他做过数据验证&#xff0c;给出了组合条件下的胜率回查&#xff0c;结果有些难看啊。这期主要介绍常用人工智能算法中在足球预测中的应用&#xff0c;以及数据验证后的实际效果。 由上图为用户依据条件查证后的比赛场次和概率统计。可以看…

苹果手机朝下无法唤醒Siri,这个解决方法你知道吗

Siri对于苹果手机的用户来说是一个非常大的吸引点&#xff0c;能够指挥苹果手机中的Siri去做很多事情&#xff0c;如&#xff1a;放一首歌曲、百度一些知识点、这句话用英语怎么说等等功能。但是&#xff0c;不知道你们有没有发现一般我们苹果手机朝下无法唤醒Siri。是不是觉得…