当前位置:网站首页>[graduation project] QT from introduction to practice: realize imitation of QQ communication, which is also the last blog post in school.
[graduation project] QT from introduction to practice: realize imitation of QQ communication, which is also the last blog post in school.
2022-07-06 16:52:00 【Flower dog fdog】
List of articles
One . Preface
2019 year 9 I came to Taizhou vocational and technical college in August , From now on , Officially opened my code learning path .
2021 year 7 I will leave Taizhou vocational and technical college in August , There's still half a month left , From now on , Will leave the campus , Become a professional .
Wake up in the morning , The head teacher informed the group that he would take his graduation photo the day after tomorrow , It's less than two years , You may wonder why it is so fast , you 're right , I am a junior college student , Only a sophomore , At the beginning of the title 【 Graduation project 】, Maybe it's just my fantasy graduation project , The school never needs any graduation design , Instead, it corresponds to a one-year internship ,6 The end of the month , I also want to set foot on the journey of internship in Nanjing .
School does not need graduation design , But I think I should still make something out , Tell yourself these two years , Not lying down , It is also a project that can be written on your resume .
School 5 I organized a job fair in January , First, related positions , It was held in our hospital , Say it's a related position , But I don't see where there are relevant positions , What customer service to recruit , Sheet metal workers , test , Perhaps the most relevant is an operation and maintenance , An enterprise brochure says to recruit development engineers , I just submitted a resume , The chat is also ok , Two days later, I asked about the interview results , Tell me my ability is ok , It just doesn't match their technology , I don't know if it's a shirk , Later, I learned from my classmates , Many students can't even submit their resumes , Just say no specialist development , This makes me feel full of malice , Then there is a school wide job fair behind , There are hundreds of enterprises , But it has nothing to do with programming .
At least I finally passed a recommendation to recruit operation and maintenance personnel , Participated in the interview of development , pass with flying colors ,C++ Development engineer internship .
I wrote a summary before :2020 Annual summary 【 Some people don't believe it after reading it , That means I'm ok . ha-ha 】, Wrote about the awards I won , Participate in the acquisition , A former student union cadre .
No matter how brilliant you are in school , In fact, these do not play any role in the interview , Don't make a long speech on your resume about what activities you participated in or organized , What student union did you attend , Especially our programmers , The interviewer will feel that you will participate in the activity , I'm not typing code at all , So you only need to take these in one stroke , Awards , Just write a few of your favorite , The biggest benefit of your awards in school may be the scholarship ( I survived this semester with these scholarships ).
If you have a project written on your resume , Then the interviewer will most likely ask you questions about the project , So project experience is your core competitiveness , Please manage your project carefully , Go more github Upload code .
Then there is nothing to say about graduation season , Let's focus on mine ” gadget “ Well , about 4000 The amount of code in the line , In fact, I don't say much , But there are also many in the blog , Just upload it all to github This treasure house , This gadget is one of my most attentive projects so far , I didn't hesitate to buy cloud servers for a year , I plan to continue to optimize the code later , Add functionality .
Here I want to give you some suggestions , Everyone should write code with thinking , Instead of writing all the time , If you ask others how to learn programming well , People will definitely say to type more code , More knocking here should bring your own thinking , Think about whether this code can be optimized , Can you subdivide the functions , Make it modular , How to design so that when adding functions in the future, try not to modify the previous code , Without thinking , It is always written in the form of daily accounts , Never make progress .
Two . imitation QQ Communications
Fdog The source code of instant messaging project has been packaged and uploaded to https://github.com/HuaGouFdog/FdogInstantMessaging, Welcome to learn , Remember to chat with me in private if you don't understand , If it helps you , welcome Star!
1. Introduce
Basic six articles :
Fdog series ( One ): reasoning , It's better to write a chat software , Let's start with imitation QQ Let's start the registration page .
Fdog series ( Two ):html What to do after writing the registration page , use java Write backstage response .
Fdog series ( 3、 ... and ): Use Tencent cloud SMS interface to send SMS , Database write , Deploy to server ,web Closing .
Fdog series ( Four ): Use Qt Frame imitation QQ Realize the login interface , Interface .
Fdog series ( 5、 ... and ): Use Qt imitation QQ Realize the login interface to the main interface , Function section
Fdog series ( 6、 ... and ):Qt The client and client communicate with each other through the server
Fdog im , I started it in April , It has been almost more than two months now , I have written six basic articles before , The time of Chapter 6 is 5 month 4 Number , I remember correctly ,7 A job fair was held on the th , After that, I have been busy looking for a job ,6 I picked it up again in January , So there was a delay . Especially Chapter 6 :Qt The client and client communicate with each other through the server , There is very little information available on the Internet , If you want to achieve similar functions, you can have a look .
Use the knowledge learned in school to compile , Mainly including the web side , client , And the server .
- The web side mainly uses html front end ,java Back end , Use Tomcat Deployed on Tencent cloud server , Internship software download, account registration and other functions .
- The client and server are in window Platform use qt5.10 Compiling , Practice and add friends , Friend chat and other functions .
remarks :
Relevant software version :tomcat7.x,mysql7.x,centOS7.x
SMS uses Tencent cloud's SMS service , Several other SMS services require enterprise certification , Tencent cloud does not need .
Every new user who registers for Tencent cloud has a two month SMS experience , My experience has expired , Can't send SMS normally now , Don't try to register again .
Because the server database password and other important information cannot be uploaded , So the downloaded program can't work properly , Only the source code and related database fields are provided here .
at present github No executable file uploaded ( It's too big ,github It's slow ), If you can't compile after downloading the source code , Right-click on the project , Just rebuild .
Fdog Website :https://www.fdogcsdn.cn,pc The corresponding executable file at the end can be obtained by adding me , There is an official QR code on the left side of the home page .
Before, some fans asked me that it has been a month since I stopped updating the sixth article , Don't worry , It has been growing , Please give it some time .
2021.5.1 to update
- Complete basic login , Communication between clients , At present, it is impossible to add friends
2021.5.28 to update
- Fixed the server crash caused by the client shutdown sequence
- Optimize the server interface ui
- Optimize the main interface ui
- Realize the login status switch of the main interface and the login status switch of the system tray
- Realize the flash of the avatar when the message comes
- Realize the message list in the lower right corner
- The main interface list message displays
2021.5.29 to update
- Fix multiple windows caused by a friend sending messages multiple times
- Optimize the style of friends list
- Optimize friend chat window ui And content display
- Realize the task bar to display the avatar of chat objects
2021.5.30 to update
- Optimize the dynamic diagram of login interface , And the jagged image of the login interface
- Optimize global font anti aliasing , Optimized font smoothing
- Optimize the grouping button arrow expansion closing effect and message list
- Optimize the message box in the lower right corner ui
2021.6.1 to update
- Add friends , And automatically update the friends list
- Optimize the search friend interface ui
2021.6.4 to update
- Optimize Usersql Class code , Using the singleton design pattern
- Optimize the writing method of some function updates , Increase security , And service side function optimization
- Add write to current user login status , Including online , stealth , Leave , Don't disturb , wait ( Later, the list of friends' status will be displayed in the friends list )
- Add the Cancel button when logging in the login interface , And when the password is wrong , Display the password error interface , Optimize the user experience
- Repair whether the server is connected or not, you can log in to the host , Increase the judgment of whether the server can connect , And the judgment of the current network environment , At the same time, the interface display is added
- Fixed the previous click on the close button , However, the destructor still cannot be called, resulting in the existence of processes in the background , Unable to compile again
2021.6.8 to update
- Optimize the conversation ui, Add chat bubbles
- Optimize list color display
2021.6.9 to update
- Fixed the current chat window displayed on the desktop , The tray image is still flashing BUG
- Added when the current chat window is inactive , The taskbar icon flashes when a message comes
- Fixed the problem that sending messages causes repeated friends in the message list and the sender does not display the message list
- Fixed the problem of unlimited login , Stipulate that the same account number is in different IP You can squeeze each other out , And at the same time IP You can only log in to one , And pop up a prompt box
- Fixed clicking the same friend , The problem of infinite pop-up chat window
2021.6.11 to update
- Fixed the problem of closing the login window but the background process still exists
- Fixed many problems caused by modifying the code , Optimize overall fluency
2021.6.13 to update
- Optimize chat window logic
- Fix the problem that closing the main window causes the program to end abnormally
2021.6.15 to update
- Repair and improve some functions ,v1.0 Version complete .
This is the first version , Then there will be a second , Third edition , If you are also interested in this , Welcome to join me !
2. legend
Web registration interface Click on
pc Login screen , Including reading account , Delete the account , Login account , Password problem , Network problems all use corresponding ui Interface .
pc main interface , Chat window , There is also a flashing avatar in the lower right corner and a message box .
pc Add buddy ui Interface
Database fields
Fdog The source code of instant messaging project has been packaged and uploaded to https://github.com/HuaGouFdog/FdogInstantMessaging, Welcome to learn , Remember to chat with me in private if you don't understand , If it helps you , welcome Star!
边栏推荐
- 姚班智班齐上阵,竞赛高手聚一堂,这是什么神仙编程大赛?
- ~71 abbreviation attribute of font
- 力扣leetcode第 280 场周赛
- (multiple methods, need to continue to see) 7-11 go deep into the tiger's Den
- Codeforces Global Round 19
- One hundred questions of image processing (1-10)
- Shell_ 03_ environment variable
- LeetCode 1640. Can I connect to form an array
- Use JQ to realize the reverse selection of all and no selection at all - Feng Hao's blog
- Detailed explanation of FLV format
猜你喜欢
随机推荐
CMake Error: Could not create named generator Visual Studio 16 2019解决方法
LeetCode 1551. Minimum operand to make all elements in the array equal
LeetCode 1557. The minimum number of points that can reach all points
Audio and video development interview questions
LeetCode 1558. Get the minimum number of function calls of the target array
~86m rabbit practice
字节跳动开源GAN模型压缩框架,算力最高节省97.8%丨ICCV 2021
7-8 likes (need to continue to improve)
FLV格式详解
Record the error reason: terminate called after throwing an instance
LeetCode 1638. Count the number of substrings with only one character difference
Shell_ 01_ data processing
Cartesian tree (modified)
ByteDance new programmer's growth secret: those glittering treasures mentors
Monomer application concept
The concept of spark independent cluster worker and executor
Solve the problem that intel12 generation core CPU single thread only runs on small cores
提交Spark应用的若干问题记录(sparklauncher with cluster deploy mode)
Ffmpeg command line use
Solve the single thread scheduling problem of intel12 generation core CPU (II)