qml保姆级教程二:qml基本数据类型

news2024/7/4 4:49:50

💂 个人主页:pp不会算法v
🤟 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主
💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦

QML系列教程

QML教程一:布局组件

文章目录

  • bool
  • real
  • double
  • int
  • string
  • date
  • point
  • size
  • color
  • font
    • 属性
  • coordinate
    • 属性:
    • 函数
  • enumeration
  • list
  • palette
    • 属性
  • rect
  • url
  • var
  • matrix4x4
    • 函数
  • variant
  • vector2d
    • 函数
  • vector3d
    • 函数
  • vector4d
    • 函数
  • geocircle
  • geopath
  • geopolygon
  • georectangle
  • geoshape
  • quaternion

c++中有一套基本数据类型,qt又有一套不同于c++的基本数据类型,同样qml又有不同于前两者的一套基本数据类型

bool

可能取值:false,true

real

实数

double

浮点型

int

整型

string

字符串类型

date

日期类型

要创建日期值,请将其指定为“YYYY-MM-DDThh:MM:ss.zzzZ”字符串。(T是文字,YYYY是全年数字,MM和DD是月和日数字,hh、MM和ss是小时、分钟和秒,.zzz是毫秒,Z是时区偏移量。T和后面的时间是可选的。如果省略它们,日期将被处理为UTC的一天的开始,它落在某些时区的其他日期上。如果包含T,则可以省略:ss.zzz或仅.zzz部分ed.有或没有这些,可以省略区域偏移,在这种情况下使用当地时间。)

point

两种表示方式: CustomObject { myPointProperty: “0,20” }
CustomObject { myPointProperty: Qt.point(0, 20) }
两个参数分别为横纵坐标

size

大小

两种表示形式: Image { sourceSize: “150x50” }
Image { sourceSize:Qt.size(150, 50) }
两个参数分别表示宽和高

color

颜色

QML中常用的颜色表示方式有四种:

1、直接使用qml中有名称的颜色 比如"red" “blue” “green” “pink” “steelblue"等
2、使用十六进制的rgb调色,比如:”#FF0000"就是红色
每两位的取值范围为十六进制的00FF也就是十进制的0255表示对应颜色的深度,从前往后每两位一次代表红绿蓝

3、使用十六进制的argb调色,相比于rgb这里多了一个a,它表示透明度值也是0~255

4、使用Qt.rgba()这个函数调色 右四个参数,前三个参数分别表示红绿蓝的深度取值范围为0~255,第四个参数是透明度取值范围为0.0 ~1.0

示例:

    Row{

        Rectangle{height: 80;width: 100;color:"#0000FF"}
        Rectangle{height:40;width: 70;color:Qt.rgba(255,0,0,0.5) }
        Rectangle{height:60;width: 80;color:"green" }
        Rectangle{height: 70;width:100;color:"#550000FF"}
    }

在这里插入图片描述

font

属性

字体:string font.family

是否加粗:bool font.bold

是否是斜体:bool font.italic

是否加下划线:bool font.underline

字体大小:real font.pointSize

字体大小:int font.pixelSize
ps:如果同时指定了pointSize和pixelSize,则将使用pixelSize。

字重:font.weight
可能取值:

Font.Thin:细体
Font.Light:轻体
Font.Normal:正常体(默认值)
Font.DemiBold:半粗体
Font.Bold:粗体
Font.Black:黑体

是否加上划线:bool font.overline

是否加删除线:bool font.strikeout(删除线)

大小写形式:font.capitalization()
可能的取值有:

Font.MixedCase:混合大小写(默认值)
Font.AllUppercase:全大写
Font.AllLowercase:全小写
Font.SmallCaps:小型大写字母

字母间距:font.letterSpacing
一个实数类型,用于指定文字中的字母之间的间距(以像素为单位)。默认值为0。

单词间距:font.wordSpacing
一个实数类型,用于指定文字中的单词之间的间距(以像素为单位)。默认值为0。

字距调整:font.kerning
一个布尔类型,用于指定是否自动调整文字中的字距。可能的取值为true(启用字距调整)和false(禁用字距调整,默认值)。

字形优先:font.preferShaping
一个布尔类型,用于指定是否优先考虑字形变换(如阿拉伯文、泰文等)而不是字符合成。可能的取值为true(优先考虑字形变换)和false(默认值)。

字体提示偏好:font.hintingPreference
一个枚举类型,用于指定字体渲染时的提示偏好。可能的取值有:

Font.PreferDefaultHinting:默认提示(默认值) Font.PreferNoHinting:禁用提示
Font.PreferVerticalHinting:垂直方向提示 Font.PreferFullHinting:完全提示

pointSize和pixelSize的区别:

pointSize指定了文字的大小,单位是磅(pt),它是一个基于物理尺寸的度量单位。在磅的计算中,1磅等于1/72英寸。因此,当我们设置pointSize为12时,文字的高度将是1/6英寸(12/72)。
而pixelSize则指定了文字的像素大小,单位是像素(px),它是一个基于屏幕分辨率的度量单位。当我们设置pixelSize为12时,文字的高度将会是12个像素。
它们之间的主要区别在于单位不同,一个是基于物理尺寸的磅,一个是基于像素的像素数。在大多数情况下,我们推荐使用pixelSize来设置文字的大小,因为它更直观、更方便且更易于控制。

coordinate

地理坐标

属性:

纬度:latitude

此属性保存地理位置的纬度值(十进制度数)。正纬度表示北半球,负纬度表示南半球。如果尚未设置该属性,则其默认值为NaN。取值范围为:-90到90。NaN是一种特殊的浮点数值,表示不是一个有效的数字

经度:longitude

此属性保存地理位置的经度值(十进制度数)。正经度表示东半球,负经度表示西半球如果未设置该特性,其默认值为NaN。取值范围为:-180到180。

海拔:altitude

该属性具有海拔值(海拔高度米)。如果尚未设置该属性,则其默认值为NaN。海拔的取值没有限制可以是正数,负数,0

坐标是否有效:isValid
这是只读属性,当坐标的值超出范围或者为无意义的数的时候该值为false,反之为true

函数

real distanceTo(coordinate other)

返回从该坐标到其他坐标指定的坐标的距离(以米为单位)。计算中未使用海拔高度。 该计算返回两个坐标之间的大圆距离,并假设地球是球形的。

** real azimuth(coordinate other)**

返回从该坐标到其他坐标指定的方位角(或方位角)(以度为单位)。计算中未使用海拔高度。为了进行这一计算,有一种假设是地球是球形的。

coordinate atDistanceAndAzimuth(real distance, real azimuth)

返回沿大圆以方位角azimuth从此坐标移动distance米所达到的坐标。 为了进行这一计算,有一种假设是地球是球形的。

enumeration

枚举类型
例如:Text.AlignRight

list

QML对象的列表。

列表类型是指QML对象的列表。 列表值的访问方式与JavaScript数组类似:
使用[]方括号语法和逗号分隔的值分配值length属性提供列表中的项数使用[index]语法访问列表中的值可以通过使用push方法动态添加到列表中,就像它是一个JavaScript数组一样。列表只能存储QML对象,不能包含任何基本类型值。(要在列表中存储基本类型,请改用var类型。)与C++集成时,请注意,从C++传递到QML的任何QQmlListProperty值都会自动转换为列表值,反之亦然。

例如:

 Item {
     width: 100; height: 100

     states: [
         State { name: "activated" },
         State { name: "deactivated" }
     ]

     Component.onCompleted: {
     console.log(states)
         console.log("Name of first state:", states[0].name)
         for (var i = 0; i < states.length; i++)
             console.log("state", i, states[i].name)
     }
 }
 

在这里插入图片描述

palette

调色板

属性

属性名含义
palette.alternateBase : color在具有交替行颜色的项目视图中用作交替背景色。
palette.base : color主要用作文本编辑器控件和项目视图的背景色。它通常是白色或其他浅色
palette.brightText : color一种文本颜色,与palette.windowText非常不同,并且与例如palette.dark形成良好对比。通常用于需要绘制的文本,其中palette.text、palette.windows text或palette.button text的对比度较差,例如在高亮显示的按钮上。
palette.button : color常规按钮背景颜色。此背景可能与palette.window不同,因为某些样式的按钮需要不同的背景颜色。
palette.buttonText : color与调色板按钮颜色一起使用的前景色。
palette.dark : color
palette.highlight : color
palette.highlightedText : color
palette.light : color
palette.link : color
palette.linkVisited : color
palette.mid : color
palette.midlight : color
palette.shadow : color
palette.text : color

rect

矩形区域

具有x、y、width和height属性的值。 rect类型指的是具有x、y、width和height属性的值。

两种表示形式:
CustomObject { myRectProperty: “50,50,100x100” } CustomObject { myRectProperty: Qt.rect(50, 50,100, 100) }

url

资源定位器。

url类型指的是资源定位器(例如文件名)。它可以是绝对的,例如“http://qt-project.org”,或相对的,例如“pics/logo.png”。相对URL是相对于包含组件的URL解析的。
例如,以下命令为Image::source属性分配一个有效的URL,该属性的类型为URL: 图片{来源:“pics/logo.png”}
与C++集成时,请注意,从C++传递到QML的任何QUrl值都会自动转换为url值,反之亦然。

var

泛型属性类型。

var类型是一种泛型属性类型,可以引用任何数据类型。
它相当于一个常规的JavaScript变量。例如,var属性可以存储数字、字符串、对象、数组和函数:

 Item {
     property var aNumber: 100
     property var aBool: false
     property var aString: "Hello world!"
     property var anotherString: String("#FF008800")
     property var aColor: Qt.rgba(0.2, 0.3, 0.4, 0.5)
     property var aRect: Qt.rect(10, 10, 10, 10)
     property var aPoint: Qt.point(10, 10)
     property var aSize: Qt.size(10, 10)
     property var aVector3d: Qt.vector3d(100, 100, 100)
     property var anArray: [1, 2, 3, "four", "five", (function() { return "six"; })]
     property var anObject: { "foo": 10, "bar": 20 }
     property var aFunction: (function() { return "one"; })
 } 

matrix4x4

matrixx4x4类型是4行4列矩阵。

matrixx4类型有16个值,每个值可通过QML中的属性m11到m44访问(按行/列顺序)。这种类型的值可以用Qt.matrixx4x4()函数组合。矩阵x4x4中的每个属性都存储为实数(在ARM上为单精度,在x86上为双精度)。

函数

方法描述
times(matrix4x4)返回两个matrix4x4矩阵相乘的结果
times(vector4d)返回将vector4d向量根据matrix4x4矩阵进行变换的结果
times(vector3d)返回将vector3d向量根据matrix4x4矩阵进行变换的结果
times(real)返回将matrix4x4矩阵与标量因子相乘的结果
plus(matrix4x4)返回两个matrix4x4矩阵相加的结果
minus(matrix4x4)返回两个matrix4x4矩阵相减的结果
row(int)返回指定索引的行向量(0-based)
column(int)返回指定索引的列向量(0-based)
determinant()返回matrix4x4矩阵的行列式
inverted()返回matrix4x4矩阵的逆矩阵,如果不存在,则返回单位矩阵
transposed()返回matrix4x4矩阵的转置矩阵
fuzzyEquals(matrix4x4)判断两个matrix4x4矩阵是否近似相等,默认使用epsilon为0.00001进行比较
fuzzyEquals(matrix4x4, real)判断两个matrix4x4矩阵是否近似相等,可以自定义epsilon的值进行比较

variant

泛型属性类型。

变体类型是泛型属性类型。它已经过时,只为支持旧的应用程序而存在;新的应用程序应该使用var类型的属性。 变体类型属性可以包含任何基本类型值:

vector2d

二维向量(x,y)

创建的两种方式 指定为“x,y”字符串,
或使用Qt.vector2d()

函数

方法描述
dotProduct(other)返回该向量与另一个向量的点积的标量结果
times(other)返回将该向量与另一个向量进行乘法运算的向量结果
times(factor)返回将该向量与标量因子进行乘法运算的向量结果
plus(other)返回该向量与另一个向量进行加法运算的向量结果
minus(other)返回从该向量中减去另一个向量的向量结果
normalized()返回该向量的单位向量形式
length()返回该向量的长度
toVector3d()将该二维向量转换为三维向量的结果
toVector4d()将该二维向量转换为四维向量的结果
fuzzyEquals(other, epsilon)如果该向量与另一个向量近似相等,则返回true。epsilon是一个可选参数,如果不提供,则默认为0.00001。

vector3d

三维向量 (x,y,z)
创建三维向量的几种方式

Rotation { angle: 60; axis: “0,1,0” }
Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }
Rotation { angle: 60; axis.x: 0; axis.y: 1; axis.z: 0 }

函数

函数描述示例
crossProduct(vector3d other)返回此向量与另一个向量的叉积的 vector3d 结果var a = Qt.vector3d(1,2,3);
var b = Qt.vector3d(4,5,6);
var c = a.crossProduct(b);
console.log(c.toString()); // QVector3D(-3, 6, -3)
dotProduct(vector3d other)返回此向量与另一个向量的点积的标量实数结果var a = Qt.vector3d(1,2,3);
var b = Qt.vector3d(4,5,6);
var c = a.dotProduct(b);
console.log(c); // 32
times(matrix4x4 matrix)返回将此向量与应用于该向量后的 4x4 矩阵进行变换的 vector3d 结果var a = Qt.vector3d(1,2,3);
var b = Qt.matrix4x4(4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
var c = a.times(b);
console.log(c.toString());
// QVector3D(0.774194, 0.849462, 0.924731)
times(vector3d other)返回将此向量与另一个向量相乘的 vector3d 结果var a = Qt.vector3d(1,2,3);
var b = Qt.vector3d(4,5,6);
var c = a.times(b);
console.log(c.toString()); // QVector3D(4, 10, 18)
times(real factor)返回将此向量与标量因子相乘的 vector3d 结果var a = Qt.vector3d(1,2,3);
var b = 4.48;
var c = a.times(b);
console.log(c.toString()); // QVector3D(4.48, 8.96, 13.44)
plus(vector3d other)返回此向量与另一个向量相加的 vector3d 结果var a = Qt.vector3d(1,2,3);
var b = Qt.vector3d(4,5,6);
var c = a.plus(b);
console.log(c.toString()); // QVector3D(5, 7, 9)
minus(vector3d other)返回此向量与另一个向量相减的 vector3d 结果var a = Qt.vector3d(1,2,3);
var b = Qt.vector3d(4,5,6);
var c = a.minus(b);
console.log(c.toString()); // QVector3D(-3, -3, -3)
normalized()返回此向量的规格化形式var a = Qt.vector3d(1,2,3);
var b = a.normalized();
console.log(b.toString());
// QVector3D(0.267261, 0.534522, 0.801784)
length()返回此向量的长度的标量实数值var a = Qt.vector3d(1,2,3);
var b = a.length();
console.log(b.toString()); // 3.7416573867739413
toVector2d()返回将此向量转换为 vector2d 的结果var a = Qt.vector3d(1,2,3);
var b = a.toVector2d();
console.log(b.toString()); // QVector2D(1, 2)
toVector4d()返回将此向量转换为 vector4d 的结果var a = Qt.vector3d(1,2,3);
var b = a.toVector4d();
console.log(b.toString()); // QVector4D(1, 2, 3, 0)
fuzzyEquals(vector3d other, real epsilon)如果此向量大致等于另一个向量,则返回 true。如果该向量的每个属性与其他属性之间的差小于等于 epsilon,则近似为真。请注意,epsilon 是可选参数,默认值为 0.00001。var a = Qt.vector3d(1,2,3);
var b = Qt.vector3d(1.0001, 1.9998, 2.0001);
var c = a.fuzzyEquals(b); // 默认的 epsilon
var d = a.fuzzyEquals(b, 0.005); // 提供了 epsilon
console.log(c + " " + d); // false true

vector4d

四维向量(x,y,z,w) 其中w表示向量的“权重”或“比例因子”
创建四维向量的两种方式

“x,y,z,w”
Qt.vector4d(x,y,z,w)

函数

函数签名描述
real dotProduct(vector4d other)返回该 vector4d 与另一个 vector4d 的点积的标量结果
vector4d times(matrix4x4 matrix)使用矩阵将该 vector4d 进行变换,并返回变换后的 vector4d
vector4d times(vector4d other)返回该 vector4d 与另一个 vector4d 的乘积结果
vector4d times(real factor)返回该 vector4d 与标量因子的乘积结果
vector4d plus(vector4d other)返回该 vector4d 与另一个 vector4d 的求和结果
vector4d minus(vector4d other)返回该 vector4d 减去另一个 vector4d 的结果
vector4d normalized()返回该 vector4d 的归一化形式
real length()返回该 vector3d 的长度的标量值
vector2d toVector2d()将该 vector4d 转换为 vector2d 的结果
vector3d toVector3d()将该 vector4d 转换为 vector3d 的结果
bool fuzzyEquals(vector4d other, real epsilon)如果该 vector4d 与另一个 vector4d 近似相等,则返回 true。如果该 vector4d 的每个属性与另一个 vector4d 的属性在 epsilon 范围内,则认为近似相等。注意,epsilon 是可选参数,默认值为 0.00001。

geocircle

地理圆形类型表示圆形地理区域。
地理圆形类型是表示圆形地理区域的地理图形。它是QGeoCircle的直接表示,并根据指定圆心的坐标和指定圆半径(以米为单位)的qreal来定义。
如果中心坐标无效或半径小于零,则认为圆无效。

geopath

地理路径类型表示一个地理路径。
地理路径类型是表示地理路径的地理图形。它是QGeoPath的直接表示,并根据保存路径中地理坐标列表的路径进行定义。
如果路径为空,则认为该路径无效。 与C++集成时,请注意,从C++传递到QML的任何QGeoPath值都会自动转换为地理路径值,反之亦然。

geopolygon

地质多边形类型代表一个地理多边形。
地质多边形类型是一种表示地理多边形的地质图形。它是QGeoPolygon的直接表示,并根据保存多边形中地理坐标列表的路径进行定义。
如果多边形的路径包含的坐标少于三个,则该多边形被视为无效。
与C++集成时,请注意,传递到QML的任何QGeoPolygon值都会自动转换为地缘多边形,反之亦然。

georectangle

地理角度类型表示矩形地理区域。
地理角类型是表示矩形地理区域的地理图形。类型是QGeoRectangle的直接表示。它由一对坐标定义,这些坐标表示地理角的左上角和右下角。可以从topLeft和bottomRight属性访问坐标。
如果左上或右下坐标无效,或者左上坐标在右下坐标以南,则地理角度被视为无效。
可以使用topLeft、topRight、bottomLeft和bottomRight属性访问地理三角形四个角的坐标。中心属性可用于获取地理角度中心的坐标。宽度和高度属性可用于获取以度为单位的地理角度的宽度和高度。设置其中一个属性将导致其他属性相应地进行调整。

geoshape

地理图形类型表示一个抽象的地理区域。
这种类型是QGeoShape的QML表示,QGeoShape是一个抽象的地理区域。它包括所有地理区域通用的属性和方法。要创建表示有效地理区域的对象,请使用地理角或地理圆。
isValid属性可用于测试地理图形是否表示有效的地理区域。 isEmpty属性可用于测试几何图形是否表示几何面积为0的区域。
contains()方法可用于测试坐标是否在几何图形内。

quaternion

四元数类型具有标量、x、y和z属性。 四元数类型具有标量、x、y和z属性。
要创建四元数值,请将其指定为“标量,x,y,z”字符串,或单独定义组件,或使用Qt.quaternion()函数组合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1060644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jmeter如何做压力测试

1.哪些业务需要做压力测试&#xff1f; 比较常用的业务场景或功能模块 单业务场景或多业务场景 项目要求做的业务场景 2.压力测试的并发数是多少&#xff1f; 有预期的数值&#xff1f;100 200 300一次性达到还是逐次增加&#xff1f;参照上次性能测试的结果 3.关注哪些参…

【代码随想录】LC 704. 二分查找

文章目录 前言一、题目1、原题链接2、题目描述 二、解题报告1、思路分析2、时间复杂度3、代码详解 三、知识风暴 前言 本专栏文章为《代码随想录》书籍的刷题题解以及读书笔记&#xff0c;如有侵权&#xff0c;立即删除。 一、题目 1、原题链接 704. 二分查找 2、题目描述 二…

cmake安装

Windows下安装Cmake教程 注意下载二进制版本的&#xff1a;

将3D MAX设计模型导入NX1988

将3D MAX设计模型导入NX1988 概述导入流程导出喜欢的模型对模型进行修改模型贴图 概述 一般家装设计都不会用NX之类的产品设计软件&#xff0c;也没有通用的文件格式可以互相转换&#xff0c;本文的目的是将从网上下载的一些设计较好的3D MAX模型导入到NX软件中借用&#xff0…

【11】c++设计模式——>单例模式

单例模式是什么 在一个项目中&#xff0c;全局范围内&#xff0c;某个类的实例有且仅有一个&#xff08;只能new一次&#xff09;&#xff0c;通过这个唯一的实例向其他模块提供数据的全局访问&#xff0c;这种模式就叫单例模式。单例模式的典型应用就是任务队列。 为什么要使…

Java新特性中的Preview功能如何运行和调试

在每个Java新版本发布的特性中&#xff0c;都会包含一些Preview&#xff08;预览&#xff09;功能&#xff0c;这些功能主要用来给开发者体验并收集建议。所以&#xff0c;Preview阶段的功能并不是默认开启的。 如果想体验某个Java版本中的Preview功能&#xff0c;您还需要做一…

C# 集合

C# 集合 集合集合接口和类型列表队列栈链表有序表字典LoopupHashSet位数组 集合 数组的大小是固定的。如果元素个数是动态的&#xff0c;就应使用集合类。List 和 ArrayList 是与数组相当的集合类。还有其他类型的集合&#xff1a;队列、栈、链表和字典。 集合接口和类型 集…

FL Studio21.1.0水果中文官方网站

FL Studio 21.1.0官方中文版重磅发布纯正简体中文支持&#xff0c;更快捷的音频剪辑及素材管理器&#xff0c;多样主题随心换&#xff01;Mac版新增对苹果M2/1家族芯片原生支持。DAW界萌神&#xff01;极富二次元造型的水果娘FL chan通过FL插件Fruity Dance登场&#xff0c;为其…

数据结构-----平衡二叉树

目录 前言 1.平衡二叉树 1.1概念与特点 1.2与二叉排序树比较 1.3判断平衡二叉树 2.平衡二叉树的构建 2.1平衡因子 BF 2.2 LL型失衡&#xff08;右旋&#xff09; 2.3 RR型失衡&#xff08;左旋&#xff09; 2.4 LR型失衡&#xff08;先左旋再右旋&#xff09; 2.5 RL…

springboot 集成 PageHelper 分页失效

前言 项目启动初期&#xff0c;在集成mybatis的分页插件&#xff0c;自定义封装了一个分页的工具类&#xff0c;方便后期项目的扩展。部分的代码如下&#xff1a; /*** 分页查询* 进行count计算** param pageNum 页数* param pageSize 每页数量* param supplier 查询操作* re…

Redis相关概念

1. 什么是Redis&#xff1f;它主要用来什么的&#xff1f; Redis&#xff0c;英文全称是Remote Dictionary Server&#xff08;远程字典服务&#xff09;&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提…

基于Java的毕业设计选题管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

44 二叉搜索树中第K个小的元素

二叉搜索树中第K个小的元素 题解1 中序遍历题解2 AVL&#xff08;手撕平衡二叉树&#xff1a;谢谢力扣官方&#xff09; 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 个最小元素&#xff08;从 1 开始计数&#xf…

免杀对抗-成品EXE免杀-反特征码-通用跳转

一、exe程序生成 1.使用如下shellcode加载器&#xff0c;生成c/c语言的exe程序 加载器&#xff1a;1.c #include <Windows.h> #include <stdio.h>#pragma comment(linker,"/section:.data,RWE")unsigned char shellcode[] 生成的shellcode;int main() { …

【一、灵犀考试系统项目设计、框架搭建】

一、创建数据库 1、打开power designer&#xff0c;新建数据库模型 2、新建数据表&#xff0c;以及关系 【注意】 图片的类型有两种&#xff1a;varbinary 和 image varbinary : 二进制字节流&#xff0c;可以自动控制长度 image : 最大可放2G图片 3、创建数据库&#…

基于郊狼优化的BP神经网络(分类应用) - 附代码

基于郊狼优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于郊狼优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.郊狼优化BP神经网络3.1 BP神经网络参数设置3.2 郊狼算法应用 4.测试结果&#xff1a;5.M…

国庆假期作业day2

作业&#xff1a;创建一个双向链表&#xff0c;将26个英文字母通过头插的方式插入到链表中&#xff0c;通过尾删的方式将数据读取出来并删除 #ifndef _TEXT_H #define _TEXT_H #include<myhead.h> typedef int datatype; typedef struct dblist {union {datatype data;/…

逆强化学习

1.逆强化学习的理论框架 1.teacher的行为被定义成best 2.学习的网络有两个&#xff0c;actor和reward 3.每次迭代中通过比较actor与teacher的行为来更新reward function&#xff0c;基于新的reward function来更新actor使得actor获得的reward最大。 loss的设计相当于一个排序问…

Java基于SSM的校园一卡通系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

解决stm32驱动LCD1602A时不显示第二行的问题

根据这个教程&#xff0c;用仿真测试可以成功&#xff0c;但实际上上真机只显示第一行。 考虑到可能是电压的问题&#xff0c;我外接的是和stm32一样的3.3v&#xff0c;但实际上lcd的额定电压是5v&#xff0c;于是换为5V&#xff0c;结果变这样了&#xff1a; 只能恢复电压3.…