- 博客(49)
- 收藏
- 关注
原创 MySQL表的操作
本文介绍了MySQL中表的基本操作语法:1)创建表(CREATE TABLE)时需指定字段、字符集、校验规则和存储引擎;2)使用DESC查看表结构;3)通过ALTER TABLE修改表结构,包括添加/删除字段(不影响/删除原有数据)、修改字段类型(可能截断数据)和重命名字段;4)修改表名(RENAME TO);5)删除表(DROP TABLE)。每种操作均附有对应的SQL语法示例。注意修改字段类型可能导致数据丢失风险。
2026-06-15 22:49:25
775
原创 MySQL:数据库基础
本文摘要了MySQL服务器管理及数据库操作的基本命令:1)服务器指令包括启动/查看/关闭/重启MySQL服务及登录方法;2)数据库操作涵盖创建(指定字符集)、查看、显示创建语句、修改字符集、删除等;3)特别说明了数据库备份(mysqldump)和恢复(source)命令。所有命令均标注必选/可选参数,并附字符集设置说明,其中utf8mb4字符集被推荐使用。
2026-06-14 20:00:59
245
1
原创 Qt系统相关
Qt事件处理机制摘要:Qt的事件系统采用面向对象设计,所有事件继承自QEvent基类,包含鼠标、键盘、定时器等20多种事件类型。事件处理分为三个层级:1)顶层QApplication::notify分发;2)中间层QObject::event过滤;3)底层具体事件处理函数。开发者可通过重写事件处理函数(如mousePressEvent)、使用事件分发器或安装事件过滤器(eventFilter)来拦截和处理事件。定时器事件支持QTimer(推荐)和QTimerEvent两种实现方式,键盘事件需控件获取焦点才能
2026-05-15 20:21:22
428
原创 Qt 主窗口全家桶:菜单栏、工具栏、状态栏与对话框完全指南
本文介绍了Qt框架中GUI组件的基本使用方法。主要内容包括:1)菜单栏(QMenuBar)的创建与菜单项(QAction)添加;2)工具栏(QToolBar)的设置,包括停靠位置、浮动和移动属性;3)状态栏(QStatusBar)的实时和永久信息显示;4)浮动窗口(QDockWidget)的创建与停靠设置;5)对话框的分类和使用,包括模态/非模态对话框以及QFileDialog、QColorDialog等内置对话框的使用方法。文章通过代码示例详细演示了各GUI组件的实现方式,为Qt界面开发提供了实用参考。
2026-05-15 11:25:27
470
原创 Qt:显示类控件
本文展示了Qt中Label和LCDNumber控件的两种应用示例。第一部分实现了一个自适应窗口大小的狗头图片展示功能:通过重写resizeEvent事件使Label始终填满窗口,并设置setScaledContents属性保持图片比例。第二部分演示了LCDNumber的倒计时功能:使用QTimer每秒触发updateTime槽函数,当数值减至0时停止计时器。两段代码均包含完整的构造函数、析构函数和核心功能实现,展示了Qt控件的基本用法和事件处理机制。
2026-05-11 21:29:51
74
原创 Qt控件:按钮类
本文介绍了Qt中三种常用控件的实现方法:1) PushButton按钮控件,通过设置图标、尺寸和快捷键实现坦克移动控制功能;2) RadioButton单选按钮,演示了性别选择功能及禁用选项的方法;3) CheckBox复选框,展示了多选功能的实现。每种控件都提供了属性列表和完整的代码示例,包括图标设置、尺寸调整、事件处理等关键操作,适用于Qt界面开发中的基本交互功能实现。
2026-05-11 16:18:04
64
原创 Qt控件:QWidget 核心属性
本文介绍了Qt控件开发中的核心属性设置方法,主要包括以下内容:1. enable参数控制控件启用/禁用状态;2. geometry参数管理控件位置和尺寸;3. windowTitle和windowIcon设置窗口标题和图标;4. windowOpacity调整窗口透明度;5. cursor自定义光标样式;6. font设置文本字体属性;7. toolTip添加控件提示信息;8. focusPolicy管理控件焦点获取方式。文中提供了每个参数的代码示例、运行效果说明和使用注意事项,涵盖了Qt界面开发中最常用的
2026-04-27 11:15:05
421
原创 Qt—信号和槽
摘要:本文介绍了Qt框架中信号与槽机制的核心概念。信号(Signal)是对象在事件触发时发出的通知,只声明不实现;槽(Slot)是响应信号的成员函数,需自行实现。通过connect函数绑定信号与槽,支持四种连接类型。文章详细说明了自定义信号槽的方法、参数匹配规则、断开连接方式,以及Lambda表达式作为槽的使用。信号槽机制实现了对象间解耦通信,替代回调函数,支持跨线程操作,当对象销毁时连接自动断开。使用该机制需满足类继承QObject并包含Q_OBJECT宏的条件。
2026-04-24 15:50:53
426
原创 HTTPS协议原理
HTTPS通过SSL/TLS协议在HTTP基础上增加加密层,实现防监听、防篡改和防冒充。它采用三种加密方式:对称加密(AES/DES)高效但需安全传输密钥;非对称加密(RSA/DSA)解决密钥分发问题;数据摘要(MD5/SHA-256)验证数据完整性。最佳实践是结合非对称加密交换对称密钥,并引入CA证书认证机制:服务器提供CA签名的证书,客户端验证证书真实性后建立安全连接。这种方案既能防止中间人攻击(通过证书签名验证),又保证了通信效率(使用对称加密),是目前最安全的HTTPS实现方式。
2026-03-17 16:31:39
659
原创 c语言和系统的文件接口
本文介绍了C语言和系统级别的文件操作接口。C语言通过fopen()、fwrite()、fread()和fclose()函数实现文件操作,参数包括文件名、读写模式、缓冲区等。系统接口使用open()、write()、read()和close()函数,需要文件描述符作为操作对象。两种方式都提供了文件打开、读写和关闭功能,但系统接口更底层,能处理中断等特殊情况。代码示例展示了如何正确使用这些函数实现文件操作。
2025-05-24 16:19:56
923
原创 Linux进程
fork函数是在已存在的进程中创建一个子进程,而原进程为父进程。注意:父进程和子进程虽然有相同的二进制代码但是它们是两个可以独立运行的进程,而且谁先被执行完全由调度器决定。
2025-05-03 11:14:07
1021
原创 Linux的环境变量
其中name是你要查看的环境变量的名称。export:设置一个新的环境变量。例如查看PATHD的环境变量。env:显示所有的环境变量。unset:清楚环境变量。
2025-05-02 10:28:28
428
原创 linux软件包管理器apt
apt可以帮我们高效的处理linux下的安装包问题,也是ubuntu系统下最常用的安装方式。注意:使用apt下载内容时要有root权限,如果是普通用户的话需要有sudo提权。
2025-04-10 09:51:18
360
原创 linux权限
linux有两种用户,超级用户(root)和普通用户,超级用户的命令提示符是#,普通用户的命令提示符是$。命令:su (用户名)功能:切换到目标用户。普通用户切换到root用户需要root的秘密,在后面可以不加有用户名。root用户切换到普通用户不需要密码,后面要接用户名。
2025-04-04 18:23:35
429
原创 AVL树的实现
AVL树,全称为Adelson-Velsky和Landis树,是一种自平衡的二叉搜索树。它由苏联数学家G.M. Adelson-Velsky和E.M. Landis于1962年提出,并以他们的姓氏命名。
2024-12-08 15:28:56
712
原创 cpp的map
还有删除(erase),清除 (clear)、查找(find)、计数(count)用法和set的用法几乎一模一样。构造一个容器,其中包含与范围 [first,last] 一样多的元素,每个元素都由该区域中的相应元素构造。1、map是关联容器,他是按照特定顺序来进行存储由key和value组成的键值队。它会返回k所对应对value,容器原先没有k则插入k并返回映射值的引用。3、map支持下标访问,将key放入[]中可以找到对应的value。通过插入新元素来扩展容器,从而有效地增加容器大小(按插入的元素数)。
2024-12-03 09:36:12
904
原创 cpp的set
如果容器的比较对象反射性地返回 false(即,无论元素作为参数传递的顺序如何),则认为集合的两个元素是等效的。由于集中的元素是唯一的,因此插入操作会检查每个插入的元素是否等效于容器中已有的元素,如果是,则不会插入该元素,而是返回此现有元素的迭代器(如果函数返回值)。如果容器的比较对象反射性地返回 false(即,无论元素作为参数传递的顺序如何),则认为集合的两个元素是等效的。下面一依次介绍每一个容器。3、set中value和key是相同的,且每个value的值是唯一的,不存在两个相同的value值。
2024-12-02 21:40:11
1534
原创 c++的list类
本篇将讲述类中的各种重要和常用函数(begin()、end()、rbegin()、rend()、empty()、size()、front()、back()、push_front()、pop_front()、push_back()、pop_back()、insert()、erase()、resize()、clear()、splice()、remove()、unique()、sort()、reverse())
2024-11-02 22:35:46
2368
原创 cpp的vector类
本篇将讲述类中的各种重要和常用函数(begin()、end()、rbegin()、rend()cbegin()、cend() 、crbegin()、crend()、size()、resize()、capacity()、reserve()、empty()、push_back ()、pop_back()、insert()、erase()、clear()。
2024-10-26 22:03:02
1624
原创 cpp的string类
本篇将讲述string类中的各种重要和常用函数(string()、begin()、rbegin()、cbegin()、crbegin()、end()、rend()、cend()、crend()、范围for、size()、resize()、capacity()、reserve()、clear()、empty()、append()、push_back()、insert()、erase()、replace()、swap()、find()、rfind()、substr()、compare())。
2024-10-25 14:04:13
978
原创 c++内存管理
如果申请的是内置类型的空间,new和malloc,delete和free基本类似,不同的地方是:new/delete申请和释放的是单个元素的空间,new[]和delete[]申请的是连续空间,而且new在申请空间失败时会抛异常,malloc会返回NULL。,如果malloc申请空间成功就直接返回,否则执行用户提供的空间不足应对措施,如果用户提供该措施就继续申请,否则就抛异常。1. 在释放的对象空间上执行N次析构函数,完成N个对象中资源的清理。2. 在申请的空间上执行构造函数,完成对象的构造。
2024-10-15 16:59:56
907
原创 类和对象(下)
友元提供了一种突破封装的方式,有时提供了便利。但是友元会增加耦合度,破坏了封装,所以友元不宜多用。友元分为两种友元函数和友元类。关键字为friend。3.2友元函数当我们要将operator
2024-10-14 22:39:09
697
原创 类与对象(中)
默认的拷贝构造函数对象按内存存储按字节序完成拷贝,这种拷贝叫做浅拷贝,或者值拷贝。4. 拷贝构造函数典型调用场景:使用已存在对象创建新对象函数参数类型为类类型对象函数返回值类型为类类型对象注意:1.在编译器生成的默认拷贝构造函数中,内置类型是按照字节方式直接拷贝的,而自定义类型是调用其拷贝构造函数完成拷贝的。2.类中如果没有涉及资源申请时,拷贝构造函数是否写都可以;一旦涉及到资源申请时,则拷贝构造函数是一定要写的,否则就是浅拷贝。
2024-09-23 12:56:27
872
原创 类与对象(上)
关键字:classclass为类的关键字,className是类的名字,{}是类的主体注意:分号不能省略。类的两种定义方式: 2. 类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加类名:: 注意: 一般情况下,更期望采用第二种方式。成员变量命名规则的建议:上面这种定义可读性不高,我们不知道year是类成员还是函数传递的参数。一般来说我们推荐在类成员前加一个'_',或者加'm',如上所示。四、类的实例化 用类类型创建对象的过程,称为类的实
2024-09-18 21:42:20
1056
原创 七种常见的排序算法和实现
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次 序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排 序算法是稳定的;否则称为不稳定的。内部排序:数据元素全部放在内存中的排序。外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。 我们依次对下面排序进行讲
2024-08-22 09:48:54
2146
原创 二叉树和堆
现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统 虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;我们左节点记录孩子的节点,右节点记录兄弟的节点,若没有孩子或兄弟则指向空。兄弟节点:具有相同父节点的节点互称为兄弟节点;节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;
2024-08-21 20:03:31
902
原创 动态内存管理
动态内存的分配以及与动态内存有关的几个库函数(malloc,calloc,realloc,free),常见的动态内存的错误以及柔性数组的特点和优势
2024-07-07 16:36:24
785
原创 自定义类型:联合和枚举
联合体类型的声明,联合体的特点以及相同成员的结构体和联合体的对比,联合体大小的计算实用案例,还有联合体的练习,枚举类型的声明,枚举类型的优点以及枚举类型的使用
2024-07-07 15:48:16
962
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅