- 博客(116)
- 收藏
- 关注
原创 【Qt】三种操作sqlite3的方式及其三种多表连接
一、sqlite3与MySQL数据库区别: 1. 数据库类型 2. 数据处理规模 3. 并发性能 4. 功能特性 5. 安全性 二、连接多个表三种方式 总结: 1. 等值连接 2. 内连接(JOIN ON) 3. 外连接 (1)左外连接(LEFT JOIN 或 LEFT OUTER JOIN) (2)右外连接(RIGHT JOIN 或 RIGHT OUTER JOIN) (3
2025-03-29 18:08:04
1095
原创 【Qt】ffmpeg编码—存储(H264)
一、编码分析 1.解码线程: 2.编码线程: 二、ffmpeg编码 1.注册所有组件 2.编码初始化函数 (2)打开视频流 4.查找编码器 5. 写文件头信息,写到formatContex中 6.发送一帧数据给编码器 7.将像素数据转码压缩码流数据 8.写一帧数据到文件
2025-03-29 15:48:49
1100
原创 【Qt】C++前向声明与Qt信号与槽的区别
主要是为了降低编译依赖,减少编译时间。当一个类仅需要知道另一个类的存在,而不需要其完整定义时,就可以使用前向声明。:信号与槽是 Qt 框架提供的一种对象间通信机制。槽是普通的 C++ 成员函数,用于接收信号并执行相应操作。不同的对象可以通过信号与槽机制进行交互,而不需要知道彼此的具体实现细节,提高了代码的可维护性和可扩展性。在前向声明,只有声明,知道有这个类,但是不知道里面有什么,而在.cpp里面引用其头文件后,就可以调用里面的函数。:前向声明是在代码里仅仅声明一个类、函数或者变量,而不给出其完整定义。
2025-03-26 21:45:09
341
原创 【Qt】ffmpeg解码—照片提取、视频播放▲
一、图像的成像原理:RGB成像原理:YUV成像原理:二、多线程三、ffmpeg解码(照片提取)1.准备工作(1)在工程文件夹里面新建三个文件夹(2)在main函数中加入这两个(3)在要解码的多线程子线程中加入(4)在.pro文件工程里面加入2.注册主键3.打开视频文件4.获取视频信息5.判断是否有视频流6.查找编码器7.打开编码器8.读取一帧压缩数据9.读取一帧压缩数据,解码一帧数据四、视频播放1.paintEvent界面重绘事件2.在子线程中发送图片信号
2025-03-01 15:08:27
1225
原创 【Qt】编程基础
一、Qt体系框架:编辑二、布局方式:1.绝对布局setGeometry()函数2.盒子布局:QHBoxLayout:水平布局管理器QVBoxLayout:垂直布局管理器QGridLayout:网格布局管理器三、基本控件及其函数标签类 :QLabel按钮类:QPushButton编辑框类 :QLineEdit下拉框类:QComboBox复选框类:QCheckBox调色板类:QPalette 提示框类:QMessageBoxQWidget基本函数
2025-02-28 17:36:50
798
原创 【Qt】MVC设计模式
1.先创建一个model父类BaseModel,因为每个表都是有需要增删改查等等业务处理,如果每一个表都写一个处理类,那么类就很多,创建就不方便,所以用父类来统一类型,这个类必。有一个表就可以有一个这样的操作类,例如:UserModel对应用户表操作,VideoMode对应视频表操作.....3.UserModel子类要去实现父类虚函数或纯虚函数,即继承的多态中对父类成员函数重写,重写函数就为具体的某个业务操作,例如:登录业务、注册业务、分页显示业务....一个表(或视图)就有一个数据类。
2025-02-28 17:02:11
803
原创 【Qt】数据库编程(SQLite API)
是 SQLite 库中的一个重要结构体,它代表了一个预编译的 SQL 语句对象,也被称为 “准备好的语句(prepared statement)”。用于指定项目链接时需要包含的库文件,这里链接的是 SQLite3 数据库的库文件。返回SQLITE_DONE表示执行完成,无数据。如果只是执行SQL,则该函数只调用一次即可。2、col-列位置,预编译 SQL 语句对象指针。表示绑定成功,否则失败。参数: sqlite3。要绑定的文本数据指针。表示准备好一行的数据。5.预编译SQL语句。语句未使用部分的指针。
2025-02-21 12:48:17
964
原创 【C++】new与malloc、三种传参、函数重载及内联函数
一、new-delete以及malloc-freequbie二、值传参-指针传参 -引用传参三、函数重载四、内联函数
2024-12-04 23:16:15
1148
原创 【软件开发】SpringBoot + MyBatis 结合 MVC框架设计(头歌)
第1关:项目整合 - SpringBoot + MyBatis第2关:使用SpringBoot + MyBatis实现一个最简单的注册
2024-11-28 08:55:40
324
原创 【操作系统】Linux之网络编程(TCP)(头歌作业)
第1关:TCP套接字创建与端口绑定第2关:TCP监听与接收连接第3关:TCP连接的建立与终止第4关:TCP数据传送
2024-11-21 11:13:38
815
4
原创 【软件开发】Spring Bean的装配方式(头歌作业)
第1关:基于 XML 的 Bean 装配第2关:基于注解的 Bean 装配第3关:自动装配 Bean
2024-11-21 08:50:04
328
原创 【C】文件的写入与读取
3. fseek (FILE *fp, long int offset, int origin): 改变文件位置指针的位置。w+:读写(建立一个新的文件,如果文件已经存在,就会把原来里面的内容清空)//w+打开二进制文件会清空文件里的内容,所以只适合文件不存在时使用。
2024-11-16 16:17:31
1771
原创 【C】链表的创建、打印、插入、删除等
链表两个概念:1.普通链表 data定义数据类型指针(不够灵活)2.通用链表 data定义void*(可以接受任何数据类型的指针地址)注意:头结点是哨兵结点,没有数据及其地址。
2024-11-16 16:01:02
883
1
原创 【软件开发】Spring 面向切面编程(头歌作业)
【软件开发】Spring 面向切面编程(头歌作业)第1关:使用前后置通知统计所有方法的执行时间 第2关:使用环绕通知统计所有带参方法的执行时间 第3关:AOP实现原理-JDK动态代理 第4关:AOP实现原理-CgLib动态代理
2024-11-14 10:00:27
827
原创 【C】无类型指针及函数指针
(3)void* 通常用在函数的参数中,给函数参数带来很大的灵活性,当函数参数是void*,可以接受任意数据地址,但无法判断是什么类型,可以加个类型判断。(2)可以其他类型赋给无类型指针,但是无类型指针赋给有类型指针会警号;4.函数指针,定义一个数组,定义一个数组,里面每个元素存放一个函数指针。
2024-11-07 15:25:24
1064
原创 【蓝桥杯】壁画
Thanh 想在一面被均分为 N 段的墙上画一幅精美的壁画。每段墙面都有一个美观评分,这表示它的美观程度(如果它的上面有画的话)。不幸的是,由于洪水泛滥,墙体开始崩溃,所以他需要加快他的作画进度!每天 Thanh 可以绘制一段墙体。在第一天,他可以自由的选择任意一段墙面进行绘制。在接下来的每一天,他只能选择与绘制完成的墙面相邻的墙段进行作画,因为他不想分开壁画。在每天结束时,一段未被涂颜料的墙将被摧毁(Thanh 使用的是防水涂料,因此涂漆的部分不能被破坏),且被毁掉的墙段一定只与还未被毁掉的墙面相邻。
2024-10-24 13:31:40
388
原创 【操作系统】Linux之进程管理一
if(pid==-1) printf("创建进程失败!if(pid==-1) printf("创建进程失败!printf("调用atexit函数错误!
2024-10-24 13:29:38
325
原创 【C】用c写贪吃蛇
4.蛇头碰撞到食物后,吃下食物变成蛇身的一部分●,重新生成食物位置,显示在地图上。1.输入正确的账号密码及其用户名,登录成功进入贪吃蛇游戏界面,2.随机生成蛇头★、食物▲的位置(x,y),并使用□打印地图。5.蛇撞墙后或蛇咬到自己的身体,程序结束,统计吃到的食物数量。3.使用w s a d按键,完成蛇头的上下左右移动。
2024-10-24 13:13:48
3359
5
原创 【C】数组及其字符串
例:编写一个系统登录界面,输入用户名(chen)和密码(1234),用户名只能输入字符8位,密码只能输入数字12位,使用光标定位函数。
2024-10-20 19:35:55
355
1
原创 【java】数学运算考试系统
面向小学低年级学生,随机生成两个整数的加减法算式要求学生解答。要求有用 户登录、注册等 GUI 界面,用户数据存入文件,体现面向对象编程思想。功能 要求:【管理员】可向题库中追加题目,确保算式的和或差没有超出 0~50 范围的加减 法,负数不允许;【学生】 (1) 随机从题库中抽取出 10 道题,每题 10 分,程序结束时显示学生得分;(2) 对于每道题,学生输入正确答案得 10 分,否则不得分;
2024-06-16 23:22:54
1193
原创 【Java】javafx界面布局
还有Rectangle类、Circle类、Ellipse类(椭圆)、Arc类(弧)、Polygon类(多边形)等。边界面板,将面板分为中央(Center)、上(Top)、右(Right)、下(Bottom)、左(Left)五个区域,每个区域可以放置一个控件或其他面板。栈面板布局,将所有节点放入一个栈中,每个节点添加到前一个节点上,常用于在图像或形状上添加文本。FontWeight.BOLD //粗。FontWeight.NORMAL //正常。FontWeight.LIGHT //细。
2024-06-02 12:37:17
2573
原创 【Java】javafx的基本图形操作
点开之后只有那个小窗口可以动,其他窗口无法点击。使用之后父窗口无法点击,但其他小窗口可以。//UNDECORATED窗口样式无装饰。//设置窗口大小不变,默认是可以变。
2024-05-19 21:23:20
983
原创 【python】使用requests爬取网页采集、单词翻译、豆瓣排行、kfc餐厅信息
(1)指定url(2)发起请求(3)获取响应数据(4)持久化存储。使用requests爬取网页采集、单词翻译、豆瓣排行、kfc餐厅信息
2024-05-12 15:29:48
534
原创 【MySQL】SQL基本知识点DML(2)
注意:在between后接的是最小值,and接的是最大值。注意:如果改和删后面都没有条件,那么会改变一整张表。注意:所有的null值不计入聚合函数的运算。将一列函数作为一个整体,进行纵向计算。注:字符类型与日期类型应该在引号中。3.DQL-基本查询。2.DML-修改数据。将身份证为空的都删了。4.DQL-条件查询。(4)like占位符。6.SQL-分组查询。
2024-05-12 15:29:26
302
1
原创 【MySQL】SQL基本知识点DDL(1)
成绩:score DOUBLE(4,1)#一般最多到150.0分,精度为4,一位小数,标度为1。VARCHAR(10):最多10个空间,存几个进去就几个空间。例如:年龄:age TINGINT UNSIGNED。CHAR(10):就算只存一个进去,也分配10个空间。注意:里面的符号全部要切换为英文状态。
2024-05-07 23:10:49
376
原创 【并查集】奶酪
现有一块大奶酪,它的高度为 hℎ,它的长度和宽度我们可以认为是无限大的,奶酪中间有许多半径相同的球形空洞。我们可以在这块奶酪中建立空间坐标系,在坐标系中,奶酪的下表面为 z=0,奶酪的上表面为 z=h ,现在,奶酪的下表面有一只小老鼠 Jerry,它知道奶酪中所有空洞的球心所在的坐标。如果两个空洞相切或是相交,则 Jerry 可以从其中一个空洞跑到另一个空洞,特别地,如果一个空洞与下表面相切或是相交,Jerry 则可以从奶酪下表面跑进空洞;
2024-04-09 23:11:25
486
原创 【BFS】母亲的牛奶
农夫约翰有三个容量分别为 A,B,C升的挤奶桶。最开始桶 A 和桶 B 都是空的,而桶 C里装满了牛奶。有时,约翰会将牛奶从一个桶倒到另一个桶中,直到被倒入牛奶的桶满了或者倒出牛奶的桶空了为止。这一过程中间不能有任何停顿,并且不会有任何牛奶的浪费。请你编写一个程序判断,当 A 桶是空的时候,C 桶中可能包含多少升牛奶,找出所有的可能情况。
2024-04-01 22:42:51
310
原创 【单调队列】滑动窗口与子矩阵
设一个矩阵的价值为其所有数中的最大值和最小值的乘积。求给定矩阵的所有大小为 a×b (a 行 b列)的子矩阵的价值的和。接下来 n行每行包含 m个整数,相邻整数之间使用一个空格分隔,表示矩阵中的每个数 Ai,j。对于所有评测用例,1≤a≤n≤1000,1≤b≤m≤1000,1≤Ai,j≤1e9。输入的第一行包含四个整数分别表示 n,m,a,b,相邻整数之间使用一个空格分隔。你的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。有一个大小为 k 的滑动窗口,它从数组的最左边移动到最右边。
2024-03-31 23:06:45
509
原创 【单调队列】矩形牛棚
作为一个资本家,农夫约翰希望通过购买更多的奶牛来扩大他的牛奶业务。因此,他需要找地方建立一个新的牛棚。约翰购买了一大块土地,这个土地可以看作是一个 R 行(编号 1∼R)C列(编号 1∼C)的方格矩阵。不幸的是,他发现其中的部分方格区域已经被破坏了,因此他无法在整个 R×C的土地上建立牛棚。经调查,他发现共有 P个方格内的土地遭到了破坏。建立的牛棚必须是矩形的,并且内部不能包含被破坏的土地。请你帮约翰计算,他能建造的最大的牛棚的面积是多少。
2024-03-31 16:32:01
402
原创 【单调队列】单调栈与直方图中最大的矩形
每个测试用例占据一行,用以描述一个直方图,并以整数 n开始,表示组成直方图的矩形数目。,hn,这些数字以从左到右的顺序表示直方图的各个矩形的高度。用单调递增栈,当该元素可以入栈的时候,栈顶元素就是它左侧第一个比它小的元素。使用单调递增栈,找到有红线区域左边比它矮的,右边同理,也要找到比他矮的,但是右边在循环时,要使用倒序来找。对于每一个测试用例,输出一个整数,代表指定直方图中最大矩形的区域面积。通常,直方图用于表示离散分布,例如,文本中字符的频率。矩形具有相等的宽度,但可以具有不同的高度。
2024-03-31 15:09:14
673
c++:运行时会显示:写入权限冲突,应该怎么改代码才能正常运行
2023-05-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人