- 博客(63)
- 资源 (1)
- 收藏
- 关注
原创 在 Qt 创建项目时,Qt Quick Application (Compat) 和 Qt Quick Application
特性Qt 版本兼容性兼容 Qt 5 和 6仅 Qt 6QML 模块使用使用原生Qt Widgets 支持默认启用不包含资源系统传统qrc文件支持 CMake 资源管理适用场景迁移项目/混合界面全新纯 QML 项目。
2025-03-30 18:03:47
381
原创 CMake 生成静态库、动态库
使用生成静态库(STATIC)或动态库(SHARED通过和设置库的输出目录。使用链接库文件到可执行文件。动态库可以设置版本号和导出符号(特别是在 Windows 下)。
2025-03-16 18:01:40
398
原创 CMake 保姆级教程
CMake 是一个跨平台的构建工具,用于生成适合不同平台和编译器的构建系统文件(如 Makefile 或 Visual Studio 项目文件)。在 Windows 下使用CMake构建项目时,CMake 会根据文件生成适合 Windows 的构建系统文件(如 Visual Studio 项目文件)。
2025-03-16 12:12:00
968
原创 Linux基础---切换用户、创建用户、删除用户、添加和删除用户组、修改密码
Linux 是一个多用户的操作系统, 可以同时登录多个用户,因此需要在多个用户之间切换时,用户切换需要使用su或者su -。使用su 之切换用户;使用su -,不仅会切换用户也会切换工作目录。从用户A切换到用户B,如果还想再切换回用户A,可以直接使用exit。
2025-03-08 14:52:08
109
原创 Linux 基础---重定向命令(>、>>)、echo
关于重定向使用的最多就是输出重定向:修改输出数据的位置,通过重定向操作可以非常方便的进行文件的复制,或者文件内容的追加。
2025-03-08 14:29:22
276
原创 Linux下安装VS Code
在 CentOS 7 上安装 Visual Studio Code (VS Code) 时,你遇到的错误是因为 CentOS 7 的 glibc 版本较低,而 VS Code 的某些版本需要更高版本的 glibc(如 GLIBC_2.28),这是 CentOS 8 或更高版本才提供的。使用 Snap 安装 VS Code。适用于snap安装的vs。
2025-03-03 22:53:02
302
原创 Linux 基础---sudo权限 修改文件所属人、用户所属组
概念:让普通用户使用管理员权限执行一些操作(root)在命令前加上sudo 即可。
2025-03-03 21:52:07
208
原创 Linux 基础---文件权限
文件权限是针对文件所有者、文件所属组、其他人这三类人而言的,对应的操作是chmod。设置方式:文字设定法、数字设定法。
2025-03-03 21:42:53
233
原创 Linux 基础 创建软链接和硬链接
软链接:相当于Windows中的快捷键方式硬链接:相当于给文件起别名,并不会在磁盘上进行文件拷贝(和cp命令不同)
2025-03-02 15:26:57
112
原创 c++基础 struct和类
在 C++ 中,class和struct都是用于定义用户自定义数据类型的关键字,它们的主要功能是封装数据和行为。尽管它们在很多方面非常相似,但也有一些关键的区别。
2025-02-07 15:58:18
552
原创 c++基础 引用和指针
OOP 是一种编程范式,基于对象和类的概念。四大特性:封装:隐藏实现细节,提供接口。继承:从基类派生出新类,复用代码。多态:通过基类指针调用派生类的重写函数。抽象:定义接口而不实现具体细节。虚函数是在基类中使用virtual关键字声明的函数。允许派生类重写该函数,实现运行时多态。通过基类指针或引用调用虚函数时,实际调用的是派生类的实现。纯虚函数是在基类中声明但没有实现的虚函数,语法为。包含纯虚函数的类称为抽象类,不能实例化。派生类必须实现纯虚函数,否则派生类也是抽象类。
2025-02-07 11:22:34
676
原创 c++ 面试题
OOP 是一种编程范式,基于对象和类的概念。四大特性:封装:隐藏实现细节,提供接口。继承:从基类派生出新类,复用代码。多态:通过基类指针调用派生类的重写函数。抽象:定义接口而不实现具体细节。虚函数是在基类中使用virtual关键字声明的函数。允许派生类重写该函数,实现运行时多态。通过基类指针或引用调用虚函数时,实际调用的是派生类的实现。纯虚函数是在基类中声明但没有实现的虚函数,语法为。包含纯虚函数的类称为抽象类,不能实例化。派生类必须实现纯虚函数,否则派生类也是抽象类。
2025-02-06 11:27:01
1122
原创 C++基础 private、protected 和 public
访问修饰符类内部派生类类外部private✔️❌❌protected✔️✔️❌public✔️✔️✔️private:用于隐藏实现细节,确保数据安全。protected:用于在继承体系中共享数据或方法。public:用于定义类的接口,供外部使用。合理使用访问控制修饰符可以提高代码的安全性、可维护性和可扩展性。
2025-02-06 11:02:28
385
原创 C++基础 枚举、结构体和类
int y;int height;public:枚举:用于定义一组命名的整数常量,提高代码的可读性。结构体:用于将不同类型的数据组合在一起,通常用于表示简单的数据结构。类:用于封装数据和方法,通常用于表示更复杂的对象。根据具体的需求,你可以选择使用枚举、结构体或类来定义你的数据类型。
2025-02-06 10:38:51
137
原创 c++ 基础 计算机的内存和寻址机制
CPU通过地址总线访问内存中的指令和数据,RAM提供临时存储,ROM存储固件,Cache加速数据访问。这些部件协同工作,完成代码的加载、解码、执行和结果存储。
2025-02-05 14:05:07
975
原创 网络协议详解---TCP、HTTP、WebSocket、socket、轮询等
五层网络结构:支持网络应用,提供进程间的通信服务。主要协议包括HTTP、FTP、SMTP等。:负责为应用程序进程提供端到端的通信服务。主要协议有TCP和UDP。:负责数据包的路由选择和传输。主要协议是IP。:负责将数据封装成帧并在物理网络上传输。主要设备包括交换机。:负责在物理媒体上传输比特流,定义物理设备的标准和接口。OSI七层网络结构:定义了用于在网络中进行通信和传输数据的接口;(Http协议位于该层):定义不同系统中数据的传输格式,编码和解码规范等;
2024-12-18 10:33:46
1621
原创 安装 mingw 工具 gcc、gdb、g++
链接: https://pan.baidu.com/s/1Pgw3INaiwUDDENhj5P1a3A?pwd=kqka 提取码: kqka。通过网盘分享的文件:msys2-x86_64-20241116.exe。–来自百度网盘超级会员v7的分享。
2024-11-23 13:02:02
261
原创 【QML 与 C++ 之间的通讯机制】QML 与 Qt 通讯:讲解如何在QML 中使用C++类,以及如何在C++ 中获取QML的内容
> 【QML 与 C++ 之间的通讯机制】QML 与 Qt 通讯:讲解如何在QML 中使用C++类,以及如何在C++ 中获取QML的内容-阿里云开发者社区在同一可执行文件中,C++和QML共享同一个进程,但是它们运行在不同的线程上。在Qt中,C++和QML都是在同一个进程中运行的,因为QML只是一种声明式的UI语言,它通过Qt Quick框架解析和渲染,最终也是由C++代码实现的。因此,当我们编译并运行一个Qt应用程序时,只会生成一个可执行文件,在该可执行文件运行时,C++和QML都是在同一个进程中运行的
2024-11-11 14:53:43
461
原创 qt低版本中列表同步滚动
qt5.15版本中scrollView没有同步滚动信号。采用Flickable滑动的信号,在Flickable中使用ScrollBar自定义滚动条,滚动条可以附加到任何 Flickable。使用Flickable中的onContentYChanged和onContentXChanged信号,并且设置滚动方向flickableDirection: Flickable.HorizontalAndVerticalFlick,从而同步其他的Flickable。
2024-09-23 14:59:52
255
原创 Mybatis 框架 基础语法
考点: SQL 注入#{}最终生成预编译sql,预编译Sql语句中?替换#{}内容一个#{} 替换一个?在模糊查询时要使用′{}%’ ,因为?不能出现在‘’中,而${}不会生成预编译sql,会直接将传过来的字符串进行拼接。但这种方式性能低、不安全、存在SQL注入问题因此可换成:concat(‘%’,‘张’,‘%’)插件在idea中下载 MybatisX插件,更好地使用mybtiais。
2024-03-03 00:25:07
1192
原创 Mybatis Plus框架 基本语法
QueryWrapper、UpdateWrapper条件构造器都是用字符串的形式指定。这种方式无法在编译期确定列名的合法性。
2024-03-02 23:40:44
1132
原创 MySql 事务
事物:是一组操作的集合,它是一个业务,是不可分割的工作单位。假设存在两条正在执行的sql,这两条sql要么都成功,要么都失败。隔离性:数据库系统提供隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。不可重复度:在一个事物内读取表中的某一行数据,多次读取的结果不同。原子性:这两个步骤一起成功或一起失败,不能出现一个成功一个失败。持久性:事务一旦提交或回滚,它对数据库中数据的改变就是永久性的。脏读:一个事物读取了另一个事物未提交的数据。幻读:一个事务内读取到了别的事物插入的数据。
2024-02-27 10:05:15
428
原创 java8函数式编程 Lambda表达式,Optional,Stream流
实际开发中,数据是从数据库获取的,可以直接把dao方法返回值类型定义为Optional类型,MyBatis会把数据自动封装成Optional对象返回。orElseGet():获取值并且设置数据为空时的默认值,如果数据不为空九年获取到该数据;将具体数据封装到Optional对象内部,使用Optional中封装好的方法操作封装进去的数据,可以避免空指针异常。filter():如果为空,或者数据不符合判断,就会是一个无效的Optional对象。map():数据转换,转换的数据是被Optional包装好的。
2024-02-24 17:26:11
476
原创 MVC三层架构、Springboot IOC容器以及DI依赖注入
用这个之后需要指定扫描的包,以及启动类所在的包(会覆盖默认的@SpringbootApplication,需要重新指定)如果有其他类(不属于这三层,比如:工具类)需要加到IOC容器,这时可以使用@Component。1.手动----@ComponentScan,让Springboot能够扫描到(不推荐!@Primary:在其中一个实现类上加,设置这个实现类的优先级先注入,自动注入这个类。运行时,IOC容器会提供该类型的bean对象,并赋值给该变量。IOC容器中创建、管理的对象,称之为bean。
2024-02-22 16:30:05
453
原创 Springboot Apipost测试前端传参方式
Spring boot 能够对前端参数自动类型转换,不用手动转换选择x-www-form:from表单** 如果前后端参数不对应怎么办?**** 解决方案**使用@RequestParam 完成映射:将接收的name转换为username。
2024-02-22 10:29:49
573
原创 qt----实现模拟键盘
使用 Windows API 函数来模拟键盘按键操作。第一个参数:QEvent事件(查阅官方文档)第二个参数:键盘按键(查阅官方文档)一、方法一:模拟按键—Ctrl+Q。二、方法二:QkeyEvent。
2023-08-10 11:05:04
3326
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人