<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_64592049的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_64592049</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_64592049]]></copyright><item><title><![CDATA[【网络】网络通信模型]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/156024316</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/156024316</guid><author>qq_64592049</author><pubDate>Wed, 17 Dec 2025 18:12:32 +0800</pubDate><description><![CDATA[本地进程间通信方法有很多。不同设备通信，就需要网络通信的方式为了兼容多种设备通信，需要制定一套统一的标准——网络协议。]]></description><category></category></item><item><title><![CDATA[在线五子棋项目测试分析报告]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/154950835</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/154950835</guid><author>qq_64592049</author><pubDate>Fri, 12 Dec 2025 11:12:36 +0800</pubDate><description><![CDATA[在线五子棋对战系统测试报告摘要：本次测试对系统核心功能、安全性、界面、兼容性等进行了全面验证。测试结果显示，系统核心功能（登录、注册、匹配、对战等）通过率达90.5%，兼容性表现优秀，自动化测试覆盖率100%。但存在严重安全问题：SQL注入漏洞（ST-02）、用户数据明文传输（ST-04/09）等高风险缺陷；界面测试通过率为0%，存在长消息显示异常、布局适应性差等问题。建议优先修复安全漏洞，特别是用户认证和数据处理模块，同时优化界面交互体验。总体评估系统基本可用但需紧急改进安全性和用户体验。（149字）]]></description><category></category></item><item><title><![CDATA[【C++】类的默认成员函数]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/145664237</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/145664237</guid><author>qq_64592049</author><pubDate>Sun, 16 Feb 2025 15:02:03 +0800</pubDate><description><![CDATA[1.函数名与类名相同2.无返回值3.构造函数可以重载1.函数名是类名，前面加~2.无参数、无返回值3.一个类只能有一个析构函数，不允许重载4.未定义析构函数时，编译器为类生成默认的析构函数1.函数名是类名拷贝构造是构造函数的重载函数。2.参数只有一个，必须是同类型类对象的引用，一般用const修饰使用传值编译器会报错（引发无穷递归）因为传值做参数，会调用拷贝构造函数。const修饰参数的原因是，为了让const类型的实参也可以调用该函数。引用的权限问题。3.无返回值。]]></description><category></category></item><item><title><![CDATA[【C++】class类（类的定义、成员访问、类的大小、this指针）]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/145636757</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/145636757</guid><author>qq_64592049</author><pubDate>Fri, 14 Feb 2025 16:32:15 +0800</pubDate><description><![CDATA[struct的升级版——class//类体：成员函数（方法）和成员变量（属性）class是定义类的关键字。className是类名，{}里是类的主体。注意}最后的分号不能省略。类中的内容称为类的成员：变量称为类的属性或成员变量；类中的函数称为类的方法或者成员函数。c++的类可以函数在上，变量在下。或者变量在上，函数在下。c++把类看作整体，搜索的时候在整个类里找。顺序不重要，不影响效率。c语言习惯先定义或者声明再使用。c语言每个变量和函数之间没有必定的关联，是独立的。class算不算一个域？算。]]></description><category></category></item><item><title><![CDATA[【C++】命名空间、函数缺省参数、函数重载、引用、inline内联函数]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/145616542</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/145616542</guid><author>qq_64592049</author><pubDate>Thu, 13 Feb 2025 17:53:23 +0800</pubDate><description><![CDATA[2.using关键字，只改变命名空间内部成员的作用域，不改变生命周期。c++编译器生成的符号表，符号表中的函数名是经过函数名修饰规则修饰的，形参列表不同的函数，函数名不同。在链接阶段，本源文件调用其他源文件的函数，需要去其他.o文件生成的符号表中按函数名查找函数地址。为已经存在的变量取别名，不开辟新的内存空间，底层通过指针实现，指向被引用对象的地址。1.生成目标类型的临时变量。c语言编译器，生成符号表中的函数名就是原函数名，无法区分同名函数。定义功能类似的函数，根据实参自动调用重载的函数中，匹配的函数。]]></description><category></category></item><item><title><![CDATA[【Qt 常用控件】多元素控件（QListWidget、QTableWidgt、QTreeWidget）]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/145482413</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/145482413</guid><author>qq_64592049</author><pubDate>Tue, 11 Feb 2025 21:02:47 +0800</pubDate><description><![CDATA[*View和**Widget的区别？**View的实现更底层，**Widget是基于**View封装实现的更易用的类型。**View使用MVC结构MVC是软件开发中 经典的 软件结构 组织形式，软件设计模式。M（model）模型。管理应用程序的核心数据和业务逻辑。并且通知视图和控制器数据已经发生变化。V（view）视图，界面。显示数据，并接受用户输入。C（controller）控制器。衔接M和V，处理用户输入，更新模型和视图。**View只负责视图，并不具备其他功能，如数据存储、业务逻辑。]]></description><category></category></item><item><title><![CDATA[【Qt 常用控件】输入类控件1（QLineEdit和QTextEdit 输入框）]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/145341126</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/145341126</guid><author>qq_64592049</author><pubDate>Fri, 07 Feb 2025 22:05:42 +0800</pubDate><description><![CDATA[QLineEdit::Normal：默认值，输入什么显示什么。来定义字符的集合，帮助你查找、替换、提取或验证文本数据。功能：单行输入框、可以输入一段文本，但不能换行。参数1：QString&，不是 const的。通过带参数的信号槽得到的文本，是const的。如果设置了验证器，必须验证通过才能发出信号。当通过代码方式修改文本，也能触发该信号。当通过代码方式修改文本，不能触发该信号。只能由使用者修改输入框内容时，才会触发。当选中的文本改变时，发出该信号。当文本内容改变时，发出信号。当文本内容改变时，发出信号。]]></description><category></category></item><item><title><![CDATA[【Qt 常用控件】显示类控件2（QLCDNumber、QProgressBar、QCalenderWidget）]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/145271400</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/145271400</guid><author>qq_64592049</author><pubDate>Fri, 24 Jan 2025 14:23:39 +0800</pubDate><description><![CDATA[为了提高编译速度，#include包含的头文件，编译时会直接展开被包含的头文件，并且一个头文件中可能嵌套包含很多其他头文件，逐个展开会消耗更多的时间。QTimer内部有一个信号，timeout，每次定时器设置的时间到达，都会触发一次timeout信号。槽函数，一般也是由main函数所在线程(主线程)调用的，在槽函数中修改界面是可行的。对timeout信号关联一个自定义的槽函数，在槽函数内部对lcdnuber的值进行-1操作。读取一个文件，可以获取文件的总大小，每读取一部分数据，更新一次进度条的值。]]></description><category></category></item><item><title><![CDATA[【Qt 常用控件】显示类控件1（QLabel）]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/145190640</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/145190640</guid><author>qq_64592049</author><pubDate>Mon, 20 Jan 2025 22:59:03 +0800</pubDate><description><![CDATA[resize这种事件，是一个连续的过程（从a一点点到b的过程），就会触发一系列的resize事件。Markdown是一种轻量级的「标记语言」，提供各种特殊符号，表示不同的样式/格式。在格式方面，可以有不同的字体、字号、字体颜色、加粗、倾斜、下划线等样式，并且可以插入多媒体元素，像图片、视频、音频，以及超链接、表格、图表等。设置后，对label内的所有行都缩进，不只是首行缩进。仅由字符（字母、数字、标点符号等）组成，是最基本的文字信息载体。绑定伙伴关系后，利用QLabel文本中的&符，为伙伴设置快捷键。]]></description><category></category></item><item><title><![CDATA[【Qt 常用控件】按钮类（QPushButton、QRadioButton、QCheckBox）]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/145122767</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/145122767</guid><author>qq_64592049</author><pubDate>Fri, 17 Jan 2025 19:28:25 +0800</pubDate><description><![CDATA[text按钮显示文本icon按钮图标iconSize按钮图标尺寸shortCut按钮对应快捷键autoRepeat点击鼠标是否重复触发按钮。true，点击一次，连续触发。false，点击一次，触发一次连续触发的延迟时间。点击过多少时间后，开始重复触发重复触发的周期。]]></description><category></category></item><item><title><![CDATA[【Qt】QWidget核心属性2（windowOpacity、cursor、font、toolTip、focusPolicy、styleSheet）]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/144975236</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/144975236</guid><author>qq_64592049</author><pubDate>Mon, 13 Jan 2025 19:56:42 +0800</pubDate><description><![CDATA[方法：将图片资源导入Qt项目，qrc文件中，使用该图片。1.创建.qrc文件管理图片资源2.添加前缀、虚拟目录3.使用图片做光标样式。]]></description><category></category></item><item><title><![CDATA[【Qt】控件概述和QWidget核心属性1（enabled、geometry、windowTitle、windowIcon、QRC机制）]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/144951281</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/144951281</guid><author>qq_64592049</author><pubDate>Tue, 07 Jan 2025 00:01:09 +0800</pubDate><description><![CDATA[界面上各种元素、各种部分的统称（如按钮、输入框、下拉框、单选复选框...）Qt作为GUI开发框架，内置了各种的常用控件，并支持自定义控件。]]></description><category></category></item><item><title><![CDATA[【Qt】信号和槽机制（connect、自定义信号和槽、emit、带参信号槽、lamda作槽函数、机制意义）]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/144754175</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/144754175</guid><author>qq_64592049</author><pubDate>Tue, 31 Dec 2024 15:43:03 +0800</pubDate><description><![CDATA[1.可以作为普通成员函数声明定义2.public slots: 函数声明添加一个成员函数，作为自定义信号处理的槽函数。alt+回车，添加函数定义button->setText("按钮");delete ui;//按下按钮，修改窗口标题this->setWindowTitle("按钮已经按下");1.右键，转到槽，选择信号自动添加函数声明和定义2.定义槽函数原理：如何实现关联信号和槽？ui文件生成的头文件内部调用，关联函数。该函数自动将信号和符合命名规则的槽函数关联。]]></description><category></category></item><item><title><![CDATA[【Qt】基础（命名风格、文档查看、坐标体系、控件位置设置和获取）]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/144751409</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/144751409</guid><author>qq_64592049</author><pubDate>Thu, 26 Dec 2024 20:32:31 +0800</pubDate><description><![CDATA[Qt中偏好用小驼峰，来命名变量/函数，用大驼峰命名类。]]></description><category></category></item><item><title><![CDATA[【Qt】编辑框/按钮控件---实现HelloWorld]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/144728231</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/144728231</guid><author>qq_64592049</author><pubDate>Thu, 26 Dec 2024 00:10:15 +0800</pubDate><description><![CDATA[编辑框：单行编辑框QLineEdit 多行编辑框QTextEdit1.图形化方式使用QLineEdit可以看到text属性设置为Hello World可以在文本框输入数据。2.代码方式。]]></description><category></category></item><item><title><![CDATA[【Qt】对象树（生命周期管理）和字符集(cout打印乱码问题)]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/144701932</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/144701932</guid><author>qq_64592049</author><pubDate>Wed, 25 Dec 2024 00:03:55 +0800</pubDate><description><![CDATA[技巧：光标放在函数声明上，alt+enter，选项中选择添加定义，自动在对应的cpp文件中添加相同的函数定义。]]></description><category></category></item><item><title><![CDATA[【Qt】了解和HelloWorld]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/144649158</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/144649158</guid><author>qq_64592049</author><pubDate>Tue, 24 Dec 2024 19:57:00 +0800</pubDate><description><![CDATA[QT是一个跨平台的C++图形化界面应用程序开发框架。常应用于PC端桌面应用开发。特点：面向对象，易于拓展，提供基于组件的开发模式，可以通过简单的拖拽和组合来实现复杂的应用程序，同时也可以使用C++语言进行高级开发。优势：1.跨平台，支持Windows、Linux、Mac系统、嵌入式系统。2.一定程度简化内存回收机制（半自动的垃圾回收机制、尽可能不影响程序的运行效率）3.可以进行嵌入式开发。]]></description><category></category></item><item><title><![CDATA[搭建VUE+VScode+elementUI环境遇到的问题]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/137151151</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/137151151</guid><author>qq_64592049</author><pubDate>Thu, 05 Sep 2024 09:48:02 +0800</pubDate><description><![CDATA[估计习惯linux命令的人，都会在windows下跟我有同样的习惯，毕竟不少命令都兼容了，不会想到where它就没兼容，查了一些资料才知道，powershell这货把where给了别的命令，而用来查路径的是。]]></description><category></category></item><item><title><![CDATA[【Linux】POSIX线程库——线程控制]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/138917846</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/138917846</guid><author>qq_64592049</author><pubDate>Mon, 20 May 2024 18:33:50 +0800</pubDate><description><![CDATA[为了返回任意类型的对象，所以传指针返回。用户接收指针后自己强转类型就行。（类比模板。同理，回调函数的参数是void*的原因也就明白喽。]]></description><category></category></item><item><title><![CDATA[【Linux】进程间通信 | 管道]]></title><link>https://blog.youkuaiyun.com/qq_64592049/article/details/136537710</link><guid>https://blog.youkuaiyun.com/qq_64592049/article/details/136537710</guid><author>qq_64592049</author><pubDate>Sat, 09 Mar 2024 16:05:36 +0800</pubDate><description><![CDATA[操作系统以读和写的方式打开同一个管道文件，填充调用进程的文件描述符表时，写入一个读方式打开的文件指针，再写入一个写方式打开的文件指针。2.另一个进程打开同一个文件，OS不再创建一个新的struct file对象，而是在该进程的文件描述符表里填入文件的file*指针。操作系统创建管道文件struct file对象，以读和写的方式打开同一个管道文件，并将文件指针填充到调用进程的文件描述符表。4.读端关闭，OS给写进程发送信号，终止写进程，进程异常退出（waitpid可读到退出信号）父进程创建多个管道和子进程。]]></description><category></category></item></channel></rss>