- 博客(65)
- 收藏
- 关注
原创 【Django】初识Django&快速上手
Django是一个高级的、开源的Python Web框架,旨在快速、高效地开发高质量的Web应用程序。
2024-04-27 21:33:21
1294
3
原创 【Hello,PyQt】背景图片不覆盖控件的方法
使用这种方法绘制图片如果图片比较小会在窗口上重复显示,所以要先把图片缩放到窗口大小然后设置到QPalette上 newpix=pixmap.scaled(self.size())
2024-04-20 16:29:02
333
2
原创 CSS实现广告自动轮播
实现原理该广告轮播功能的实现主要依靠HTML和CSS。HTML负责搭建轮播框架,而CSS则控制样式和动画效果。通过CSS中的关键帧动画(Keyframes),我们可以定义图片在容器内的滚动效果,从而实现轮播功能。
2024-04-20 16:25:04
1077
原创 【Hello,PyQt】控件拖拽
在 PyQt 中实现控件拖拽功能的详细介绍拖拽功能是现代用户界面设计中常见的交互方式之一,它可以提高用户体验,增加操作的直观性。在 PyQt 中,我们可以很容易地实现控件之间的拖拽功能。本文将介绍如何在 PyQt 中实现控件的拖拽功能。
2024-03-28 20:21:39
1352
1
原创 【Hello,PyQt】QTextEdit和QSplider
之前的文章介绍了QLineEdit这个控件,它只能进行单行的文本编辑,而QTextEdit控件是可以多行文本编辑。
2024-03-26 16:09:28
465
2
原创 【Hello,PyQt】pyqt5中的QLineEdit控件
QLineEdit是PyQt5中的一个基本控件,主要用于接受用户的单行文本输入。除了基本的文本输入功能外,它还支持一些附加功能,包括回显模式、输入限制和验证、信号与槽机制等。
2024-03-15 21:40:48
1489
2
原创 【Hello,PyQt】pyqt5中的QLabel控件
QLabel 是 PyQt5 中的一个基本控件,主要用于在用户界面中显示静态文本或图像。它不仅可以用于简单的文本显示,还支持富文本、图像展示、超链接等功能。
2024-03-11 22:43:58
1835
2
原创 【Hello,PyQt】最简单的一些pyqt5程序
程序预览用于创建主窗口,管理应用程序的控制流,而是所有用户界面对象的基类。每个 PyQt5 应用都必须创建一个应用对象,即QApplication类的实例,这是任何PyQt5应用程序的起点。firstWin是实例化了的FirstMainWin类,并通过show()方法显示了主窗口。最后,通过sys.exit(app.exec_())进入应用程序的主事件循环,确保在用户关闭窗口时应用程序能够干净地退出。关闭窗口关闭一个窗口最直接的方式就是点击标题栏的那个叉,这个例子展示的是通过点击一个按钮关闭窗口
2024-03-10 22:06:21
1071
1
原创 【MySQL】查询语句:条件、排序和分页
MySQL 数据库使用SELECT语句来查询数据。一般情况下,除非需要使用表中所有的字段数据,最好不要使用通配符‘*’。使用通配符虽然可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。
2024-02-27 15:53:31
1395
1
原创 【MySQL】探索表结构、数据类型和基本操作
数据库的E-R(entity-relationship,实体-关系)模型中有三个主要概念: 实体集 、 属性 、 关系集。一个实体集对应于数据库中的一个表,一个实体则对应于数据库表 中的一行,也称为一条记录。一个属性对应于数据库表中的一,也称为一个字段。如果现在有多条这种记录,那么就可以列成一张表,通过表来管理数据。下面是一个表的结构,每一行的数据都成为记录,那么每一列的内容都称为字段。每一列都有自己的数据类型。
2024-02-25 22:09:56
1103
1
原创 【图形学】投影和消隐简介
对于物体上任意一点的三维坐标P(x,y,z),投影后的三维坐标为P′x′y′z′,那么正交投影的方程为⎩⎨⎧x′xy′yz′0。
2024-02-07 22:58:31
1025
2
原创 【图形学】双三次贝塞尔曲线绘制方法
双三次贝塞尔曲面是由16个控制点定义的曲面,通常表示为4x4矩阵。puvi0∑3j0∑3PijBi3uBj3vuv∈01×01其中,Pijij0123是曲面上的16控制点;Bi3u和Bj3v⎩⎨⎧B03u1−u3B13u3u1−u2B23u3u21−uB33uu3⎩⎨⎧。
2024-01-29 21:24:11
774
5
原创 【图形学】贝塞尔曲线理论与实践
给定n+1个控制点,则n次贝塞尔曲线的定义为pt∑i0nPiBintt∈01pti0∑nPiBintt∈01式子中BintB_{i,n}(t)Bint是贝塞尔基数,表达式为BintCniti1−tn−ii012...nBintCniti1−tn−ii012...n。
2024-01-26 15:08:17
1020
原创 【图形学】三维几何变换理论和实现
和二维几何变换一样,三维几何变换也要引入齐次坐标。点(x,y,z)的规范化齐次坐标为(x,y,z,1)。那么三维变换矩阵就是一个4*4的方阵。Tadgpbehqcfirlmns这个矩阵可以分为如下4个子矩阵T0adgbehcfiT1lmnT2pqrT3s其中T0进行比例、旋转、对称、错切变换T1进行平移变换,T2。
2024-01-24 21:07:32
413
原创 【图形学】二维几何变换的一些理论和实现
一些概念齐次坐标是用n+1维向量表示n维向量,例如点P(x,y)的齐次化坐标为(wx,wy,w),w为任意不为0的数P(x,y)的齐次化坐标为(wx,wy,w),w为任意不为0的数P(x,y)的齐次化坐标为(wx,wy,w),w为任意不为0的数如果w取值为1,则称为规范化的齐次坐标。二维几何变换矩阵由于二维点的齐次坐标是一个包含三个元素的列向量,那么二维几何变换矩阵就应该是一个3*3的方阵。T=[abecdfpqs]T=\begin{bmatrix} a&b&e\\
2024-01-20 22:54:36
889
原创 【图形学】颜色线性插值和Wu反走样算法
绘制一条颜色渐变的直线,直线上每一个点的颜色都来自端点颜色的线性插值。线性插值公式为P1−tPstarttPendP是直线上任意一个点,Pstart是直线的起点,Pend是直线的终点对应直线上任意一点的颜色有c1−tcstarttcend根据之前学的直线光栅化算法可知,绘制直线的时候是有主位移方向的,如果主位移方向是x,有x1−txstarttxend。
2024-01-18 15:01:08
1076
原创 【图形学】直线光栅化算法(DDA算法,Bresenham算法和中点算法)
在数学上,直线就是由无穷多个点组成的, 在计算机屏幕显示的话, 需要做一些处理,对于光栅显示器,就是用有限多个点去逼近直线, 我们需要知道每一个像素点的坐标(都是整数)
2024-01-16 14:27:11
1279
原创 【Qt】盒子布局、网格布局、表单布局和堆栈布局
QBoxLayout可以在水平方向或垂直方向上排列控件,分别派生了QHBoxLayout、QVBoxLayout子类。水平布局、垂直布局除了构造时的方向(LeftToRight、TopToBottom)不同外,其它均相同。
2023-10-30 22:55:20
662
原创 【c++】运算符重载实例
目的:为已有的运算符赋予新的含义,以方便我们使用。实质:函数重载的一种形式,或者说是一种特殊的函数。规则:只能重载C++中已经定义好的运算符。不能创建新的运算符。运算符重载后,其优先级、结合性等保持不变。不能改变运算符的语法结构。重载运算符的函数原型:返回类型 operator 运算符 (参数列表)。重载运算符的参数:可以有一个或多个参数。当运算符有多个参数时,参数之间用逗号隔开。重载运算符的返回类型:可以是任何数据类型,包括基本数据类型和自定义类型。
2023-10-24 22:05:32
337
原创 【c++】简单了解运算符重载
现在有两个Integer对象a,b。想让a和b相加得到的结果给对象c,现在可以肯定的是c=a+b编译后肯定会报错请注意这条信息现有的加法运算符无法对两个Integer对象进行操作,那么有什么方法可以让加法运算符可以对两个Integer对象进行操作?实现的方法就是运算符重载。
2023-10-22 21:39:45
164
原创 【数据结构与算法】字符串匹配,BF算法和KMP算法,next数组求法
bf算法假设在主串S="helloworld"中找T="hellr"这个子串的位置实现的思路如下。
2023-10-16 20:06:41
263
原创 【go语言】入门go语言结构体
结构体是一种用户自定义的数据类型,它由一组字段组成,每个字段可以是任意基本类型或其他结构体类型。结构体在Go语言中被广泛使用,它可以用来表示复杂的数据结构,比如二叉树、链表、图等。
2023-09-27 21:56:22
308
原创 【go语言】函数和闭包
函数由 func 开始声明:函数名称,参数列表和返回值类型构成了函数签名。:参数列表,当函数被调用时,你可以将值传递给参数,这个值被称为实际参数。参数列表指定的是参数类型、顺序、及参数个数。参数是可选的,也就是说函数也可以不包含参数。:返回类型,函数返回一列值。return_types 是该列值的数据类型。函数可以不需要返回值,这种情况下 return_types 不是必须的。函数体:实现具体功能的代码集合。
2023-09-23 11:18:19
178
1
原创 【go语言】条件,选择,循环和特殊语句
go语言的if语句和C语言的if语句的差不多,需要注意的是else 和else if要写在括号右边;go语言的if语句还可以有一个子语句。
2023-09-21 16:59:05
386
原创 【操作系统&C语言】作业调度算法 先来先服务&短作业优先
int num;double T,W;//T 周转时间,W周转系数}Job;10int len;}JobArr;int num;double T,W;//T 周转时间,W周转系数}Job;10int len;}JobArr;int len;}OutPutArr;从文件中读取要处理的作业FILE*file;//读取表头文字int i=0;if(i>=10)printf("作业太多了\n");return;处理提交的第一个作业。
2023-09-20 19:20:10
1262
原创 【MFC】tab控件 仿任务管理器 枚举窗口和进程
创建一个基于对话框的MFC项目,给主对话框添加一个tab控件(设置关联变量 类型:CTabCtrl 名称:m_tab),添加两个子对话框(IDC_PAGE1和IDC_PAGE2),给子对话框添加一个list control控件(设置关联变量 类型:CListCtrl 名称:m_list),并将子对话框的边框属性设置为None,窗口样式设为child在资源视图界面右击对话框给IDC_PAGE1和IDC_PAGE2添加对话框类,类名分别为CPage1,CPage2。
2023-09-12 21:52:50
1033
原创 【MFC】实现简单UDP通信
创建一个基于对话框的MFC项目(名称为UDP),高级功能选中Windows套接字这个时候在CUDP类的InitInstance()方法中就会出现这样的代码用来初始化套接字如果没有选中,手动添加也是可以的。修改控件IDC_EDIT1的一些属性。
2023-09-11 22:42:30
1598
1
原创 【数据结构】哈希表
散列表(也叫哈希表),是根据关键码值而直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。哈希表的核心是合适的hash函数,数据范围,解决冲突的办法这里通过数字分析法设计哈希函数, 链地址法解决从冲突。
2023-09-09 17:53:35
340
原创 【MFC】Button控件美化(自绘)
在MFC中Button控件不能通过OnCtlColor()函数对外观做太多的改变。欲设置按钮的背景为紫色,文字为红色,但是通过OnCtlColor()函数并不能实现预期的结果为了能够修改Button控件字体、字体大小、背景色、背景图片,需要对Button控件进行自绘。
2023-09-07 16:59:22
2290
原创 【数据结构】堆结构的应用--堆排序和Top-k问题
【数据结构】堆如果只是将待排数组建立一个大堆或者小堆是无法得到一个升序或者降序的数组,因为对与一个堆,我们没法知道同一层的大小关系。但是,如果建立了一个大堆,那么堆顶元素一定是这个数组中最大的,那么将堆顶元素删除(并不是真的删除,而是放在数组最后)用其余元素再次建立一个堆,那么这个新堆的堆顶元素就是剩余元素中的最大值,不断循环则个操作不就可以得到一个升序的数组。
2023-09-06 21:17:41
321
原创 MFC单文档应用程序 嵌入对话框分割窗口
添加几个对话框,设置对话框属性给对话框添加关联的类,给CMainFrame类添加CSplitterWnd类对像splitterCMainFrame类包含头文件运行结果。
2023-09-03 22:29:09
466
原创 MFC list control控件数据修改
heroVector中元素的顺序和list control中显示的顺序是一致的,这就是为什么要添加一个全局变量count来控制给list control控件添加项的时候都是从末尾插入。添加一个editControl控件,命名为m_edit,默认是Control变量;因为前两项是英雄名称和职业这个基本是不会更改的,要有改动的是后面两项价格,所以加了一个m_Col>1的判断。但是此时只能实现edit控件中的数值修改不能实现保存,所以在edit控件中添加killfocus函数。在Dlg类中定义三个变量。
2023-09-03 15:14:46
588
1
原创 【数据结构】AVL树的插入和自平衡调整
AVL树是最早发明的自平衡二叉查找树。在AVL树中,任一节点对应的两颗子树的最大高度差为1,因此他被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是Ologn增加和删除操作后可能需要通过一次货多次旋转来实现平衡。
2023-09-02 20:33:56
303
原创 【数据结构】 建立堆结构和对堆进行插入删除操作
堆是一种特殊的数据结构,它是一棵完全二叉树,每个节点都满足父节点的值总是大于等于(或小于等于)其子节点的值。满足这个条件的堆叫做最大堆(或大根堆),反之为最小堆(或小根堆)。
2023-08-28 22:30:19
115
1
原创 【go语言】 变量与赋值
这里给类型起别名类似c语言,只是语法稍稍不同type 类型名字 底层类型type bigint int64 //给int64起一个别名为bigintfmt.Printf("a1的类型为%T\n", a) //输出main.biginttype (char bytelong intvar (
2023-08-23 16:34:14
126
原创 【数据结构与算法】广度寻路算法(树结构)
将实际地图抽象为树(四叉树,四个方向)。起点就是树的根节点,是树的第一层。走一步能到达的节点都是根节点的孩子,是树的第二层。走两步能到达的节点是树的第三层…当树的叶子到达终点或没有地方拓展了,寻路结束。找到终点后一路往上回溯,一直追溯到起点,这条路径就是最佳路径。
2023-08-23 11:18:33
112
数据结构C语言描述顺序表
2023-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人