【毕业设计】QT从入门到实战:实现模仿QQ通讯,也是在校的最后一篇博文。

2021-06-21 20:14:37 浏览数 (1)

  • 1. 介绍
  • 2. 图例

一. 前言

2019年9月来到泰州职业技术学院,从此,正式开启了我的代码求学之路。

2021年7月即将离开泰州职业技术学院,还有半个月的时间,从此,将离开校园,变成一个职场人。

早上醒来,班主任在群里通知后天要照毕业照,算起来也就不到两年的时间,你可能会好奇为什么怎么快,没错,我是一个大专生,才大二,标题开头的【毕业设计】,也可能仅仅是我幻想的毕业设计,学校从来都不需要什么毕业设计,而是对应为期一年的顶岗实习,6月份结束,我也要踏上去往南京实习的路程。

学校是不需要毕业设计,但是我觉得我还是应该做一个东西出来,来告诉自己这两年,不是躺过来的,也是可以写在简历上的项目。

学校5月份组织过招聘会,先是相关岗位的,是在我们院举办的,说是相关岗位,但是我是没看出哪里有相关岗位的,招什么客服,钣金工,测试,可能最最最沾边的也就是一个运维,一个企业宣传手册上面写着招开发工程师,我就投了一份简历,聊的也还可以,过了两天问面试结果,告诉我能力还可以,就是和他们的技术不搭,我也不知是不是推脱的话,之后我也是在同学那里了解到,好多同学连简历都投不进去,直接就说不招专科开发,这让我感受到满满的恶意,然后后面有一场全校的招聘会,说着是有几百个企业,但压根跟编程没什么关系。

好歹最后通过一个来招聘运维人员的推荐,参加了开发的面试,顺利通过,C 开发工程师实习。

之前写过的一篇总结:2020年度总结【有人看了还不信,那说明我还行。哈哈】,写了我获得的奖项,参加的获得,当过的学生会干部。

无论你在学校多么辉煌,其实这些在面试当中并起不了任何作用,在简历上面千万不要长篇大论你参加或者组织了什么活动,参加了什么学生会,尤其是我们程序员,面试官会感觉你就参加活动了,根本没有在敲代码,所以这些只需要一笔带过就好了,奖项的话,写几项你最得意的就好了,你在学校获得的奖项最大的收益可能就是换来的奖学金(我靠着这些奖学金撑过了这个学期)。

如果你简历上面写了项目,那么面试官大概率会问你关于项目的问题,所以项目经验才是你的核心竞争力,请用心经营你的项目,多往github上传代码。

然后毕业季也没什么可说的,还是重点说说我的”小玩意“吧,大约4000行的代码量,其实说多也不多,但是放在博文里面也挺多,就统统上传到github这个宝库了,这个小玩意是我到现在为止最用心的一个小项目,我不惜购买了一年云服务器,打算之后的时间继续优化代码,添加功能。

在这里想给大家提一些建议,大家要带着思考去写代码,而不是一股脑的一直写,如果你问别人如何学好编程,人家一定会说多敲代码,这里的多敲要带着自己的思考,可以想一想这段代码能不能优化,能不能把功能再细分,做成模块化的,怎么设计可以使以后添加功能时尽量不去修改以前的代码,如果不带着思考,永远都是流水账一类的写法,永远无法进步。


二. 模仿QQ通讯

Fdog即时通讯项目源码已整体打包上传至https://github.com/FdogMain/FdogInstantMessaging,欢迎大家参考学习,有不明白的地方记得私聊我,如果对你有帮助的话,欢迎Star!

1. 介绍

基础六文:

Fdog系列(一):思来想去,不如写一个聊天软件,那就从仿QQ注册页面开始吧。

Fdog系列(二):html写完注册页面之后怎么办,用java写后台响应呀。

Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。

Fdog系列(四):使用Qt框架模仿QQ实现登录界面,界面篇。

Fdog系列(五):使用Qt模仿QQ实现登录界面到主界面,功能篇

Fdog系列(六):Qt实现客户端与客户端通过服务端进行互相通信

Fdog即时通讯,是我在四月份开始的,到现在差不多也两个多月了,之前有写过六篇基础文章,第六篇的时间在5月4号,我没记错的话,7号就开了招聘会,之后时间也一直在忙碌着找工作,6月份我才重新拿起来,所以耽搁了。尤其是第六篇:Qt实现客户端与客户端通过服务端进行互相通信,在网上能找到的资料很少,有想实现类似功能的小伙伴可以看看。

利用在校所学知识进行编写,主要包括网页端,客户端,以及服务端。

  1. 网页端主要使用html前端,java后端,使用Tomcat部署在腾讯云服务器上面,实习软件下载和账号注册等功能。
  2. 客户端和服务端是在window平台使用qt5.10进行编写,实习添加好友,好友聊天等功能。

备注:

相关软件版本:tomcat7.x,mysql7.x,centOS7.x

短信使用的是腾讯云的短信服务,其他几家的短信服务都需要企业认证,腾讯云不需要。

每个新用户注册腾讯云都有两个个月短信体验,我的体验已到期,现在无法正常发送短信,不要再再试注册了。

由于无法将服务器数据库密码等重要信息上传,所以下载下来的程序无法正常运行,这里只提供源码以及相关数据库字段。

目前github没有上传可执行文件(太大了,github又慢),如下载源码后无法编译,右击项目,重新构建即可。

Fdog网站:https://www.fdogcsdn.cn,pc端相应的可执行文件可以加我获取,首页左侧有官方二维码。

之前还有粉丝询问我都一个月了停更在第六篇不更新,不要急,它一直在成长,请给它一点时间。

2021.5.1 更新

  1. 完成基本的登录,客户端与客户端的通信,目前还无法实现好友添加

2021.5.28 更新

  1. 修复了服务端由客户端关闭顺序引起的崩溃
  2. 优化服务端界面ui
  3. 优化主界面ui
  4. 实现主界面登录状态切换和系统托盘登录状态切换
  5. 实现来消息时的头像闪动
  6. 实现右下角消息列表
  7. 主界面列表消息显示

2021.5.29 更新

  1. 修复一个好友多次发送消息导致打开多个窗口
  2. 优化好友列表样式
  3. 优化好友聊天窗口ui以及内容显示
  4. 实现任务栏显示聊天对象头像

2021.5.30更新

  1. 优化登录界面动态图,以及登录界面头像锯齿化问题
  2. 优化全局字体反锯齿,优化后字体平滑
  3. 优化分组按钮箭头展开闭合效果以及消息列表
  4. 优化右下角消息框ui

2021.6.1更新

  1. 实现好友添加,并自动更新好友列表
  2. 优化搜索好友界面ui

2021.6.4更新

  1. 优化Usersql类的代码,采用单例设计模式
  2. 优化部分函数更新写法,增加安全性,以及服务端功能优化
  3. 增加对当前用户登录状态的写入,包括在线,隐身,离开,勿扰,等等(后期将会在好友列表中显示列表好友状态)
  4. 增加了登录界面登录时的取消按钮,以及当密码错误时,显示密码错误界面,优化用户体验
  5. 修复无论是否连接服务器都可以登录到主机面,增加对服务器是否能连接的判断,以及当前网络环境的判断,同时增加界面显示
  6. 修复了之前点击关闭按钮,但是依旧无法调用析构函数导致后台存在进程,无法再次编译的问题

2021.6.8更新

  1. 优化对话ui,增加聊天气泡
  2. 优化列表颜色显示

2021.6.9更新

  1. 修复了当前聊天窗口显示在桌面,托盘头像依旧闪烁的BUG
  2. 增加了当前聊天窗口为非活动窗口时,来消息时的任务栏图标的闪烁
  3. 修复了发送消息导致信息列表重复出现好友以及发送方不显示消息列表的问题
  4. 修复了无限登陆的问题,规定同一账号在不同IP下可以互相挤掉对方,而在同一IP下只可以登录一个,并弹出提示框
  5. 修复了点击同一好友,无限弹出聊天窗口的问题

2021.6.11更新

  1. 修复了关闭登录窗口但是后台进程还存在的问题
  2. 修复了修改代码产生的诸多问题,优化整体流畅性

2021.6.13更新

  1. 优化聊天窗口逻辑
  2. 修复关闭主窗口导致程序异常结束的问题

2021.6.15更新

  1. 修复并完善某些功能,v1.0版完成。

这是第一个版本,之后也会有第二个,第三个版本,如果你也对此有兴趣,欢迎与我一起参与!


2. 图例

网页注册界面点击

pc登录界面,包括读取账号,删除账号,登录账号,密码问题,网络问题都使用了对应的ui界面。

pc主界面,聊天窗口,还有右下角的头像闪动以及消息框。

pc添加好友ui界面

数据库字段


Fdog即时通讯项目源码已整体打包上传至https://github.com/FdogMain/FdogInstantMessaging,欢迎大家参考学习,有不明白的地方记得私聊我,如果对你有帮助的话,欢迎Star!

0 人点赞