【毕业设计】QT从入门到实战:实现模仿QQ通讯,也是在校的最后一篇博文。
文章目录
- 一. 前言
- 二. 模仿QQ通讯
- 1. 介绍
- 2. 图例
一. 前言
2019年9月来到泰州职业技术学院,从此,正式开启了我的代码求学之路。
2021年7月即将离开泰州职业技术学院,还有半个月的时间,从此,将离开校园,变成一个职场人。
早上醒来,班主任在群里通知后天要照毕业照,算起来也就不到两年的时间,你可能会好奇为什么怎么快,没错,我是一个大专生,才大二,标题开头的【毕业设计】,也可能仅仅是我幻想的毕业设计,学校从来都不需要什么毕业设计,而是对应为期一年的顶岗实习,6月份结束,我也要踏上去往南京实习的路程。
学校是不需要毕业设计,但是我觉得我还是应该做一个东西出来,来告诉自己这两年,不是躺过来的,也是可以写在简历上的项目。
学校5月份组织过招聘会,先是相关岗位的,是在我们院举办的,说是相关岗位,但是我是没看出哪里有相关岗位的,招什么客服,钣金工,测试,可能最最最沾边的也就是一个运维,一个企业宣传手册上面写着招开发工程师,我就投了一份简历,聊的也还可以,过了两天问面试结果,告诉我能力还可以,就是和他们的技术不搭,我也不知是不是推脱的话,之后我也是在同学那里了解到,好多同学连简历都投不进去,直接就说不招专科开发,这让我感受到满满的恶意,然后后面有一场全校的招聘会,说着是有几百个企业,但压根跟编程没什么关系。
好歹最后通过一个来招聘运维人员的推荐,参加了开发的面试,顺利通过,C++开发工程师实习。
之前写过的一篇总结:2020年度总结【有人看了还不信,那说明我还行。哈哈】,写了我获得的奖项,参加的获得,当过的学生会干部。
无论你在学校多么辉煌,其实这些在面试当中并起不了任何作用,在简历上面千万不要长篇大论你参加或者组织了什么活动,参加了什么学生会,尤其是我们程序员,面试官会感觉你就参加活动了,根本没有在敲代码,所以这些只需要一笔带过就好了,奖项的话,写几项你最得意的就好了,你在学校获得的奖项最大的收益可能就是换来的奖学金(我靠着这些奖学金撑过了这个学期)。
如果你简历上面写了项目,那么面试官大概率会问你关于项目的问题,所以项目经验才是你的核心竞争力,请用心经营你的项目,多往github上传代码。
然后毕业季也没什么可说的,还是重点说说我的”小玩意“吧,大约4000行的代码量,其实说多也不多,但是放在博文里面也挺多,就统统上传到github这个宝库了,这个小玩意是我到现在为止最用心的一个小项目,我不惜购买了一年云服务器,打算之后的时间继续优化代码,添加功能。
在这里想给大家提一些建议,大家要带着思考去写代码,而不是一股脑的一直写,如果你问别人如何学好编程,人家一定会说多敲代码,这里的多敲要带着自己的思考,可以想一想这段代码能不能优化,能不能把功能再细分,做成模块化的,怎么设计可以使以后添加功能时尽量不去修改以前的代码,如果不带着思考,永远都是流水账一类的写法,永远无法进步。
二. 模仿QQ通讯
Fdog即时通讯项目源码已整体打包上传至https://github.com/HuaGouFdog/FdogInstantMessaging,欢迎大家参考学习,有不明白的地方记得私聊我,如果对你有帮助的话,欢迎Star!
1. 介绍
基础六文:
Fdog系列(一):思来想去,不如写一个聊天软件,那就从仿QQ注册页面开始吧。
Fdog系列(二):html写完注册页面之后怎么办,用java写后台响应呀。
Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。
Fdog系列(四):使用Qt框架模仿QQ实现登录界面,界面篇。
Fdog系列(五):使用Qt模仿QQ实现登录界面到主界面,功能篇
Fdog系列(六):Qt实现客户端与客户端通过服务端进行互相通信
Fdog即时通讯,是我在四月份开始的,到现在差不多也两个多月了,之前有写过六篇基础文章,第六篇的时间在5月4号,我没记错的话,7号就开了招聘会,之后时间也一直在忙碌着找工作,6月份我才重新拿起来,所以耽搁了。尤其是第六篇:Qt实现客户端与客户端通过服务端进行互相通信,在网上能找到的资料很少,有想实现类似功能的小伙伴可以看看。
利用在校所学知识进行编写,主要包括网页端,客户端,以及服务端。
- 网页端主要使用html前端,java后端,使用Tomcat部署在腾讯云服务器上面,实习软件下载和账号注册等功能。
- 客户端和服务端是在window平台使用qt5.10进行编写,实习添加好友,好友聊天等功能。
备注:
相关软件版本:tomcat7.x,mysql7.x,centOS7.x
短信使用的是腾讯云的短信服务,其他几家的短信服务都需要企业认证,腾讯云不需要。
每个新用户注册腾讯云都有两个个月短信体验,我的体验已到期,现在无法正常发送短信,不要再再试注册了。
由于无法将服务器数据库密码等重要信息上传,所以下载下来的程序无法正常运行,这里只提供源码以及相关数据库字段。
目前github没有上传可执行文件(太大了,github又慢),如下载源码后无法编译,右击项目,重新构建即可。
Fdog网站:https://www.fdogcsdn.cn,pc端相应的可执行文件可以加我获取,首页左侧有官方二维码。
之前还有粉丝询问我都一个月了停更在第六篇不更新,不要急,它一直在成长,请给它一点时间。
2021.5.1 更新
- 完成基本的登录,客户端与客户端的通信,目前还无法实现好友添加
2021.5.28 更新
- 修复了服务端由客户端关闭顺序引起的崩溃
- 优化服务端界面ui
- 优化主界面ui
- 实现主界面登录状态切换和系统托盘登录状态切换
- 实现来消息时的头像闪动
- 实现右下角消息列表
- 主界面列表消息显示
2021.5.29 更新
- 修复一个好友多次发送消息导致打开多个窗口
- 优化好友列表样式
- 优化好友聊天窗口ui以及内容显示
- 实现任务栏显示聊天对象头像
2021.5.30更新
- 优化登录界面动态图,以及登录界面头像锯齿化问题
- 优化全局字体反锯齿,优化后字体平滑
- 优化分组按钮箭头展开闭合效果以及消息列表
- 优化右下角消息框ui
2021.6.1更新
- 实现好友添加,并自动更新好友列表
- 优化搜索好友界面ui
2021.6.4更新
- 优化Usersql类的代码,采用单例设计模式
- 优化部分函数更新写法,增加安全性,以及服务端功能优化
- 增加对当前用户登录状态的写入,包括在线,隐身,离开,勿扰,等等(后期将会在好友列表中显示列表好友状态)
- 增加了登录界面登录时的取消按钮,以及当密码错误时,显示密码错误界面,优化用户体验
- 修复无论是否连接服务器都可以登录到主机面,增加对服务器是否能连接的判断,以及当前网络环境的判断,同时增加界面显示
- 修复了之前点击关闭按钮,但是依旧无法调用析构函数导致后台存在进程,无法再次编译的问题
2021.6.8更新
- 优化对话ui,增加聊天气泡
- 优化列表颜色显示
2021.6.9更新
- 修复了当前聊天窗口显示在桌面,托盘头像依旧闪烁的BUG
- 增加了当前聊天窗口为非活动窗口时,来消息时的任务栏图标的闪烁
- 修复了发送消息导致信息列表重复出现好友以及发送方不显示消息列表的问题
- 修复了无限登陆的问题,规定同一账号在不同IP下可以互相挤掉对方,而在同一IP下只可以登录一个,并弹出提示框
- 修复了点击同一好友,无限弹出聊天窗口的问题
2021.6.11更新
- 修复了关闭登录窗口但是后台进程还存在的问题
- 修复了修改代码产生的诸多问题,优化整体流畅性
2021.6.13更新
- 优化聊天窗口逻辑
- 修复关闭主窗口导致程序异常结束的问题
2021.6.15更新
- 修复并完善某些功能,v1.0版完成。
这是第一个版本,之后也会有第二个,第三个版本,如果你也对此有兴趣,欢迎与我一起参与!
2. 图例
网页注册界面点击
pc登录界面,包括读取账号,删除账号,登录账号,密码问题,网络问题都使用了对应的ui界面。
pc主界面,聊天窗口,还有右下角的头像闪动以及消息框。
pc添加好友ui界面
数据库字段
Fdog即时通讯项目源码已整体打包上传至https://github.com/HuaGouFdog/FdogInstantMessaging,欢迎大家参考学习,有不明白的地方记得私聊我,如果对你有帮助的话,欢迎Star!
【毕业设计】QT从入门到实战:实现模仿QQ通讯,也是在校的最后一篇博文。相关推荐
- QT教程,QT从入门到实战教程完整版
Qt是一个跨平台开发框架,可以使用C++和Qml开发,同时它又不仅仅只是开发框架,它也是一种技术策略,可以让你快速.高效地设计.开发.部署和维护软件,同时在所有设备上提供无缝的用户体验.因而,对于C/ ...
- 【五天时间】Qt从入门到实战:第一天
[五天时间]Qt从入门到实战:第一天 第一天 1.1 Qt的介绍.优点.成功案例 什么是Qt? Qt的优点 Qt的成功案例 1.2 创建第一个Qt程序 1.3 熟悉按钮控件常用API 1.4 对象树的 ...
- 最新QT从入门到实战完整版(07 对象树)
最新QT从入门到实战完整版(07 对象树) 一.07 对象树 来自 一.07 对象树 看到我们创建了一个按钮,然后并且让它显示到窗口中啊,那下边大家看一下我刚才创建的按钮啊.都写的是new啊,都写的是 ...
- 最新QT从入门到实战完整版(08.qt中的坐标系-09 信号和槽-点击按钮关闭窗口_)
最新QT从入门到实战完整版(08.qt中的坐标系-09 信号和槽-点击按钮关闭窗口_) 一.08.qt中的坐标系 二,09 信号和槽-点击按钮关闭窗口_ 来自 一.08.qt中的坐标系 二,09 信号 ...
- qt学习笔记 来自B站【最新QT从入门到实战完整版|传智教育】
最新QT从入门到实战完整版|传智教育 目录在这里 2022.2.4 day1 06 QPushButton创建 07 对象树 08 Qt的坐标系 09 信号和槽-点击按钮关闭窗口 10 自定义信号和槽 ...
- Qt基础入门到进阶实战资料大全(纯干货,超详细,随时更新)
文章目录 1.简介 2.Qt官网 3.Qt开源社区 1)国内社区 a)CSDN 社区 b)Qter社区 c)QTCN开发网 2)国外社区 a)QT software b)Qt Center c)Dev ...
- 【Flutter从入门到实战】⑪、豆瓣案例-1、星星评分Widget、虚线Widget、TabbarWidget、BottomNavigationBarItem的封装、初始化配置抽取
Flutter从入门到实战 一共分为23个系列 ①(Flutter.Dart环境搭建篇) 共3个内容 已更新 ②(Dart语法1 篇) 共4个内容 已更新 ③(Dart语法2 篇) 共2个内容 已更新 ...
- 【Flutter从入门到实战】 ⑨、滚动的Widget-ListView、GridView、SliverWidget、滚动的Widget的滚动监听的方式
Flutter从入门到实战 一共分为23个系列 ①(Flutter.Dart环境搭建篇) 共3个内容 已更新 ②(Dart语法1 篇) 共4个内容 已更新 ③(Dart语法2 篇) 共2个内容 已更新 ...
- Docker入门与实战讲解
× 首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 招聘 ITeye CSTO 写博客 发Chat 登录注册 relax_hb的博客 RSS订阅 原 Dock ...
- 【技术手册】Java 开发者必备手册《Spring Cloud Alibaba 从入门到实战》
Java 开发者必备手册<Spring Cloud Alibaba 从入门到实战> 简介 大咖寄语 目录 精彩导读 基础知识篇 分布式配置 服务注册与发现 分布式服务调用 服务熔断和限流 ...
最新文章
- 开源分布式数据库中间件
- 面试热点|理解TCP/IP传输层拥塞控制算法
- Flomaster 2020中文版
- timesten支持mysql吗_Timesten常用命令
- ASP.NETCore的Kestrel服务器
- 【模拟】Biotech
- python读取mysql数据_Selenium(Python) ddt读取MySQL数据驱动
- 优秀!本科生发表Nature论文,直博美国顶尖名校
- qt连接mysql数据库原理_Qt连接数据库的两种方法
- 精彩十年(4)——缔造神话
- 了解Hadoop数据类型,输入输出格式及用户如何自定义。
- 【设计模式】实现线程安全单例模式的五种方式
- 基于单片机的智能插座控制系统设计
- MFC程序版本自动升级更新
- Premiere 常用视频概念
- 会写SQL==精通MYSQL?NONONO,进来学习一下吧! 0.0
- 应聘PHP有面试题吗,php应聘面试题
- 戏剧专业毕业论文题目
- 视觉里程计 第一部分:前30年的发展和理论基础
- 《羊年展望》中国改革蹄疾经济求稳 新思维应对新常态
热门文章
- niosii spi 外部_【笔记】NIOS II spi详解
- UFS系列六:UFS设备初始化和启动
- UFS开发板代码分析
- VirtualBox虚拟机提示内存0x00000000不能为written问题
- 【Cpp】C和C++混合编程
- notion函数_最适合设计师的笔记软件 Notion
- 《代码整洁之道》--读书笔记
- 基于8086方波锯齿波三角波发生器仿真、基于8086的LCD1602显示仿真设计、基于8086的LED点阵汉字流水显示设计、基于8086的LED中文显示屏显示设计-仿真设计资料【转发】
- 没有大厂经验的前端可以这么写简历
- 与计算机相关的潜在健康风险是什么,医疗安全与风险管理.新.ppt