自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

贝勒里恩的博客

日拱一卒,点滴记录

  • 博客(535)
  • 资源 (8)
  • 收藏
  • 关注

原创 Linux下使用Qt + libpcap

Libpcap是的英文缩写,即数据包捕获函数库。该库提供的C函数接口用于捕捉经过指定网络接口的数据包,该接口应该是被设为混杂模式。这个在原始套接子中有提到。著名的软件TCPDUMP就是在Libpcap的基础上开发而成的。Libpcap提供的接口函数实现和封装了与数据包截获有关的过程。Libpcap提供了用户级别的网络数据包捕获接口,并充分考虑到应用程序的可移植性。Libpcap可以在绝大多数Linux平台上运行。Wincap。它的工作在上层应用程序与网络接口之间。数据包捕获:捕获流经网卡的原始数据包。

2024-05-16 17:01:57 745

原创 VS2017搭建Qt开发环境

2、E1696 无法打开源文件 “ui_QtWidgets.h” QtWidgets。直接点击安装即可,安装好之后关闭VS,等待升级成功即可!3、VS 2017安装Qt插件。2、安装Qt 5.14.2。1、Qt无法打开ui文件。1、安装VS 2017。

2024-04-22 12:41:05 281

原创 安装IntelliJ IDEA

工欲善其事必先利其器,学习JAVA的第一步,首先是安装IDE,配置环境;常用的JAVA IDE是IntelliJ IDEA和eclipse,我选择IntelliJ IDEA。

2024-04-21 18:52:11 610

原创 Qt编译Assimp

到目前为止,我们在OpenGL中一直是在跟容器盒子打交道,有些许的枯燥。我们也可以导入别人搭建好的、漂亮的模型,因此,我们的工作就是去解析这些导出的模型文件,并将其中的模型数据存储为OpenGL能够使用的数据。一个常见的问题是,导出的模型文件通常有几十种格式,不同的工具会根据不同的文件协议把模型数据导出到不同格式的模型文件中。有的模型文件格式只包含模型的静态形状数据和颜色、漫反射贴图、高光贴图这些基本的材质信息,比如Wavefront的.obj文件。

2024-04-19 18:15:13 940 1

原创 3、MATLAB中矩阵和多维矩阵介绍

在MATLABexpression可以是由数字、变量、操作符和函数等组成;例如:a = 1 + 1,定义了一个变量a在MATLAB,定义矩阵,使用方括号[ ],同一行之间的元素用逗号‘ , ’或者空格‘ ’来分隔,行与行之间用分号‘;’来分隔例如:a = [1,2,3;4 5 6]定义行向量:a = [1,2,3]定义列向量:b = [1;2;3]

2024-04-18 15:23:40 787

原创 2、MATLAB入门常用命令

一、退出和中断exit和quit:结束MATLAB会话。程序完成,如果没有明确保存,则变量中的数据丢失。Ctrl + c:中断一个MATLAB任务。例如,当MATLAB正在计算或打印时,中断一个任务,但会话并没有结束。二、常用清除命令clc:清空命令行内容;clear:清空工作空间wrokspace的所有变量;clear all:清除工作空间的所有变量,函数,和MEX文件(比clear更彻底);clf:清除所有图表的内容;clf(1):清除图表1的内容;close all:关闭所

2024-04-18 14:48:56 280

原创 1、MATLAB介绍

工具箱可应用于特殊的应用领域;

2024-04-18 14:29:59 255

原创 Qt使用miniblink第三方浏览器模块

Qt编写地图综合应用58-兼容多浏览器内核用Qt做项目过程中,遇到需要用到浏览器控件的项目,可能都会绕不开一个问题,那就是从Qt5.6版本开始mingw编译器的Qt构建套件,不再提供浏览器控件了,之前还可以用webkit。

2024-04-16 11:32:18 992

原创 echarts快速入门

1、在绘图前我们需要为 ECharts 准备一个定义了高宽的 DOM 容器。echarts是百度研发团队开发的一款报表视图JS插件,功能十分强大,可在。但是不要担心,打开控制台确认没有报错信息,就可以进行下一步。// 基于准备好的dom,初始化echarts实例。// 基于准备好的dom,初始化echarts实例。// 使用刚指定的配置项和数据显示图表。// 使用刚指定的配置项和数据显示图表。// 指定图表的配置项和数据。'ECharts 入门示例'// 指定图表的配置项和数据。

2024-04-03 15:34:11 858

原创 STM32单片机学习5--STM32中断

单片机无系统执行逻辑:main函数–>while死循环:外部中断,通过GPIO检测输入脉冲,引起中断事件,打断原来的代码执行流程,进入到中断服务函数中进行处理,处理完后再返回到中断之前的代码中执行。

2024-01-23 18:00:43 988

原创 STM32单片机学习4--STM32控制八段码

八段码一般会引出9个引脚,其中7个引脚显示数字(或某些字母),1个显示小数点,1个作为片选端。数码管:实际上是多个LED按照一定顺序排列,并加上遮罩所构成的元件。共阳在这端输出低电平时点亮,高电平时会熄灭,共阴则相反。根据连接方式的不同,数码管分为。共阴和共阳互为对方的按位取反。

2024-01-23 15:05:03 570

原创 QGraphicsItem器件移动及旋转相关问题

官方注释:在父坐标系中根据坐标pos设置图元的位置。如果图元没有父图元,pos就是场景坐标系。当然,也可以从构造函数中传递参数设置父子层级。

2023-12-29 16:31:51 506

原创 跟着LearnOpenGL学习12--光照贴图

在跟着LearnOpenGL学习11–材质中,我们讨论了让每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样子能够很容易在一个光照的场景中给每个物体一个独特的外观,但是这仍不能对一个物体的视觉输出提供足够多的灵活性。我们将整个物体的材质定义为一个整体,但现实世界中的物体通常并不只包含有一种材质,而是由多种材质所组成。想想一辆汽车:它的外壳非常有光泽,车窗会部分反射周围的环境,轮胎不会那么有光泽,所以它没有镜面高光,轮毂非常闪亮(如果你洗车了的话)。

2023-12-26 16:28:18 1269

原创 跟着LearnOpenGL学习11--材质

在现实世界里,每个物体会对光产生不同的反应。比如,钢制物体看起来通常会比陶土花瓶更闪闪发光,一个木头箱子也不会与一个钢制箱子反射同样程度的光。有些物体反射光的时候不会有太多的散射(Scatter),因而产生较小的高光点,而有些物体则会散射很多,产生一个有着更大半径的高光点。如果我们想要在OpenGL中模拟多种类型的物体,我们必须针对每种表面定义不同的材质(Material)属性。在跟着LearnOpenGL学习10–基础光照这一篇中,我们定义了一个物体和光的颜色,并结合环境光与镜面强度分量,来决定物体的视觉

2023-12-26 13:00:37 1187

原创 跟着LearnOpenGL学习10--基础光照

现实世界的光照是极其复杂的,而且会受到诸多因素的影响,这是我们有限的计算能力所无法模拟的。因此OpenGL的光照使用的是简化的模型,对现实的情况进行近似,这样处理起来会更容易一些,而且看起来也差不多一样。这些光照模型都是基于我们对光的物理特性的理解。其中一个模型被称为冯氏光照模型环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照。环境光照(Ambient):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会是完全黑暗的。

2023-12-25 10:45:22 890

原创 跟着LearnOpenGL学习9--光照

现在,如果我们使用绿色的光源又会发生什么呢?

2023-12-22 15:26:56 913

原创 C/C++ 静态代码检查工具cppCheck

Cppcheck是一个用于C/C++代码的静态分析工具,它可以帮助开发者检测代码中的错误;Cppcheck可以检测出许多类型的错误,包括语法错误、未使用的函数、内存泄漏、未初始化的变量等;Cppcheck还支持用户自定义规则,这使得开发者可以根据自己的需求定制Cppcheck的行为;使用--suppress如果你想要忽略某些警告,可以在命令行中使用 --suppress 选项。

2023-12-13 16:16:15 1140 2

原创 C++测试代码运行时间

【代码】C++测试代码运行时间。

2023-12-05 11:23:50 170

原创 批处理下载视频

如果我们需要下载同一个系列的多个视频时,一个一个操作太过繁琐,可以使用Windows的批处理来进行操作。例如,打开B站,随便点开一个视频,把网址复制一下,然后打开。之后,我们就可以使用命令行下载视频文件了;视频网址直接【Ctrl + V】粘贴就行。,然后回车,视频就会下载到。annie 视频网址。

2023-07-25 11:26:53 344

原创 跟着LearnOpenGL学习8--摄像机

前面的教程中我们讨论了观察矩阵以及如何使用观察矩阵移动场景(我们向后移动了一点)。OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉,而不是场景在移动。本节我们将会讨论如何在OpenGL中配置一个摄像机,并且将会讨论FPS风格的摄像机,让你能够在3D场景中自由移动。我们也会讨论键盘和鼠标输入,最终完成一个自定义的摄像机类。当我们讨论摄像机/观察空间(Camera/View Space)的时候,是在讨论以摄像机的视角作

2023-06-13 15:59:26 845

原创 Qt嵌入外部进程

Qt可以嵌入任意外部.exe程序。

2023-06-09 15:28:54 2259 5

原创 跟着LearnOpenGL学习7--坐标系统

OpenGL希望在每次顶点着色器运行后,我们可见的所有顶点都为标准化设备坐标(Normalized Device Coordinate, NDC)。也就是说,每个顶点的x,y,z坐标都应该在-1.0到1.0之间,超出这个坐标范围的顶点都将不可见。我们通常会自己设定一个坐标的范围,之后再在顶点着色器中将这些坐标变换为标准化设备坐标。然后将这些标准化设备坐标传入光栅器(Rasterizer),将它们变换为屏幕上的二维坐标或像素。

2023-06-07 11:33:36 649

原创 跟着LearnOpenGL学习6--变换

尽管我们现在已经知道了如何创建一个物体、着色、加入纹理,给它们一些细节的表现,但因为它们都还是静态的物体,仍是不够有趣。我们可以尝试着在每一帧改变物体的顶点并且重配置缓冲区从而使它们移动,但这太繁琐了,而且会消耗很多的处理时间。我们现在有一个更好的解决方案,使用(多个)矩阵(Matrix)对象可以更好的变换(Transform)一个物体。矩阵是一种非常有用的数学工具,尽管听起来可能有些吓人,不过一旦你理解了它们后,它们会变得非常有用。为了深入了解变换,我们首先要在讨论矩阵之前进一步了解一下向量。

2023-06-05 17:48:18 865

原创 跟着LearnOpenGL学习5--纹理

通过前面着色器博文的学习,我们已经了解到,我们可以为每个顶点添加颜色来增加图形的细节,从而创建出有趣的图像。但是,如果想让图形看起来更真实,我们就必须有足够多的顶点,从而指定足够多的颜色。这将会产生很多额外开销,因为每个模型都会需求更多的顶点,每个顶点又需求一个颜色属性。为了解决这一问题,我们可以使用纹理,纹理是一个2D图片(甚至也有1D和3D的纹理),纹理可以理解为贴图,将图片贴到我们创建的几何图形上。你可以想象纹理是一张绘有砖块的纸,无缝折叠贴合到你的3D的房子上,这样你的房子看起来就像有砖墙外表了。

2023-06-01 15:56:29 766

原创 跟着LearnOpenGL学习4--着色器

在之前绘制三角形的博文中,我们已经接触到了着色器,但是肯定有许多疑问,本文来详细了解一下着色器!着色器(Shader)是运行在GPU上的小程序,这些小程序为图形渲染管线的某个特定部分而运行;从基本意义上来说,着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信;它们之间唯一的沟通只有通过输入和输出。

2023-05-12 16:45:13 938 1

原创 跟着LearnOpenGL学习3--四边形绘制

通过一文,我们已经知道了怎么配置渲染管线,来绘制三角形;OpenGL主要处理三角形,当我们需要绘制别的图形时,例如:四边形,应当用三角形去拼接,组成我们想要的四边形;

2023-05-11 13:59:54 841

原创 跟着LearnOpenGL学习2--三角形绘制

在OpenGL中,任何事物都在3D空间中,而屏幕和窗口却是2D像素数组,这导致OpenGL的大部分工作都是关于把3D坐标转变为适应你屏幕的2D像素。3D坐标转为2D坐标的处理过程是由OpenGL的图形渲染管线管理的。第一部分把你的3D坐标转换为2D坐标;第二部分是把2D坐标转变为实际的有颜色的像素;

2023-05-11 12:19:22 632

原创 跟着LearnOpenGL学习1--环境搭建

LearnOpenGL网站上采用的是GLFW这个库来进行OpenGL开发,所以我们需要配置GLFW和Glad;由于本人更习惯使用Qt Creator进行开发,所以后面的都是在Qt平台上进行写代码!

2023-05-10 16:00:11 487

原创 Qt配置glfw库(Windows)

将下载的glfw库文件夹中的include、lib-mingw-w64复制到新建的。切换到工程文件(*.pro),鼠标右键–>【添加库】在工程路径下新建一个文件夹。

2023-05-10 12:22:44 1579 1

原创 OPenGL学习--库介绍

OpenGL被定义为 “图形硬件的一种软件接口”;从本质上讲,它是一个3D图形和模型库,具有高度的可移植性,并且具有非常快的速度;使用OpenGL,可以创建爱你优雅而漂亮的3D图像,并且具有非常出色的视觉质量;使用OpenGL的最大有点是它的速度远远快于光线追踪器或软件渲染引擎;

2023-05-08 16:38:38 3772

原创 OPenGL笔记--术语

将数学和图形数据转换成3D空间图像的操作;

2023-05-08 12:27:12 491

原创 OPenGL笔记--创建一个3D场景

通过前面的学习,基本掌握了怎么绘制图形,使用纹理,接下来就来创建一个3D场景。基本原理一个复杂的场景肯定是由一些简单的图形,通过某种组合方式构建起来的,在OPenGL中也不例外;例如:在绘制立方体的时候,立方体也是由6个正方形围起来的;基本图形由于显卡在渲染三角形时效率较高,所以我们采用三角形来构建复杂的3D场景;数据结构当您想要使用一系列的数字来完美的表达3D环境时,随着环境复杂度的上升,这个工作的难度也会随之上升;

2023-05-06 13:32:18 1671

原创 QML控件--MenuBar

还提供 API 来动态添加、插入、删除和获取菜单。:是菜单栏,通常,菜单静态声明为菜单栏的子项,但。访问菜单栏中的菜单;

2023-04-21 14:48:12 811

原创 Qt显示数学公式

目前项目中需要显示数学公式,本来打算采用markdown,但是试了多种方式都不行,然后想过Latex,后面发现MathML,效果还不错,XML格式,然后XML解析的公式可以显示在QtMmlWidget控件中,也可以导出图片,显示在QLabel上。

2023-04-14 18:19:57 1271

原创 Linux主机用WordPress搭建网站

接下来,我们将需要配置 phpMyAdmin 以连接到我们的 MYSQL 服务器。我们还需要设置一些详细信息,以便我们可以登录到 phpMyAdmin 软件。然后设置 phpMyAdmin 的密码,此密码是 phpMyAdmin 用于连接到 MySQL 服务器的密码。填好WordPress密码,电子邮箱地址,安装WordPress。打开浏览器,输入 http://主机IP。输入数据库密码,其它不变,提交。

2023-04-13 11:00:34 773

原创 QML控件--Menu

与仅关闭菜单及其子菜单的 close() 不同,dismiss() 关闭菜单的整个层次结构,包括父菜单;当菜单是子菜单时,菜单的标题通常显示在菜单项的文本中,而当它在菜单栏中时,则显示在工具按钮的文本中;删除并返回 index 处的菜单,该索引位于菜单中的所有项目中,菜单的所有权转移给调用者。删除并返回索引处的动作,该索引位于菜单中的所有项目中,动作的所有权转移给调用者;返回索引处的子菜单,如果索引无效或指定索引处没有子菜单,则返回 null;删除并返回索引处的项目,项目的所有权转移给调用者;

2023-04-12 15:13:57 861

原创 QML控件--Drawer

与屏幕边缘的距离,在该距离内拖动操作将打开 Drawer,默认值为 Qt.styleHints.startDragDistance。Drawer 相对于其最终目的地的位置。完全关闭时位置为 0.0,完全打开时位置为 1.0。:提供一个可以使用滑动手势打开和关闭的侧面板;Drawer 可以从上下左右四个方向打开;Drawer 是否是交互式的。非交互式不会对滑动做出反应。注意:设置为 小于等于 0 可禁用通过拖动打开Drawer;

2023-04-12 14:47:20 973

原创 QML控件--Dialog

注意:当使用 close() 关闭对话框或将 visible 设置为 false 时,不会发出此信号;注意:当使用 close() 关闭对话框或将 visible 设置为 false 时,不会发出此信号。当以交互方式或通过调用 accept() 接受对话框时,会发出此信号;页脚项目位于底部,并调整为对话框的宽度。当对话以交互方式或通过调用 reject() 被拒绝时,会发出此信号。对话框使用的标准按钮的组合。标题项位于顶部,并调整为对话框的宽度。单击 Dialog.Discard 标准按钮时会发出此信号。

2023-04-12 14:12:05 1185

原创 QML控件--DialogButtonBox

对话框和消息框通常以符合该平台的界面指南的顺序显示按钮,不同的平台总是有不同顺序的对话按钮,DialogButtonBox 允许开发人员向其中添加按钮,并且会。当在按钮框中单击按钮时,会为实际按下的按钮发出 clicked() 信号。按钮框使用的标准按钮的组合。这些按钮将按照用户平台的适当顺序放置。: enumeration 在排列按钮框中包含的按钮时要使用的。管理此按钮的按钮框,如果该按钮不在按钮框中,则为 null。: enumeration 按钮框的位置。持有按钮框中每个按钮的角色。

2023-04-12 11:52:53 707

原创 QML控件--Dial

对齐模式与 stepSize 一起使用,对齐是相对stepSize而言的。水平和垂直输入模式使用相对输入系统,其中光标位置的变化相当于在图中的直线上。

2023-04-12 11:11:50 691

WinPcap中文文档

WinPcap中文文档

2022-02-22

ipad_frame.zip

Qt实现的ipad框架,支持滑动效果

2021-01-10

QLineBoard.zip

Qt自定义控件QLineBoard,一个输入框,一点击就弹出键盘,可以在键盘中点击输入

2020-12-26

基于Qt自定义的滑动选择器

这是基于Qt实现的自定义滑动选择器,滑动选择器支持两种模式:水平模式和垂直模式,可自行设置。另外提供了接口可设置各类颜色、选择器值域等。

2020-05-26

基于QT的界面滑动切换

这是模仿手机界面的平滑切换工程,在工业触摸板上很有实用价值。具体效果可以去我的博客看, 。

2020-05-19

基于QT开发的无触摸屏系统按键解决方案

这是大三嵌入式课程的一个实验题目,主要是在树莓派上用QT开发一个控制界面,控制小灯的亮灭,呼吸灯等等。这个题目主要是在于练习QT的绘图功能,也可以用来应对无鼠标无触摸屏等工程现场。

2020-02-14

基于QT开发的TCP服务器

这是一个基于QT开发的TCP服务器,这是我之前服务外包大赛的时候写的,运行效果良好,欢迎大家一起学习讨论。

2020-02-13

基于QT开发的简易智能家居系统框架

这是一个基于QT开发的智能家居简易框架,整体框架已经架构好,可以继续向外扩展功能界面。

2020-02-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除