- 博客(621)
- 资源 (2)
- 收藏
- 关注
原创 lvgl避坑记录
以上不会有log输出,分析如下:一旦 LV_LOG_LEVEL >= LV_LOG_LEVEL_INFO ——1,必定不会 <= LV_LOG_LEVEL_TRACE ——0。只能将 && 后面的删掉,修改如下:代码如下: 首先要打开以下宏:然后设置日志等级为 LV_LOG_LEVEL_INFO :发现日志输出有个警告:看到源码,一分析就找到原因了:修改后:三、PNG图片显示不了 出现如下报错:解决办法:直接增大内存便可。查看 lv_conf.h 文件:由于我跑在linux系统上,所以
2025-04-03 17:54:57
149
原创 跨平台串行通讯库libcserialport的使用
CSerialPort 项目是一个开源库,它提供了一个简单易用的接口来访问串口。它支持多种操作系统,包括 Windows、Linux 和 macOS。CSerialPort 可以用于各种应用,如串口通信、数据采集和设备控制。
2025-04-02 13:44:48
350
原创 linux驱动学习(十五)之ioctl
一般而言字符设备驱动不可能只会调用读写操作(read/write),因为字符设备还需要进行其他参数的配置(如摄像头驱动 设置摄像头的画面参数、获取摄像头的能力......),像这样的操作都不会使用读写函数来实现,一般内核都会交给ioctl函数来实现,像ioctl函数的特点就是通过发送不同命令码,然后驱动返回不同的数据。
2025-04-02 09:45:36
990
原创 qt QQuaternion详解
是 Qt 中用于表示三维空间中旋转的四元数类。它包含一个标量部分和一个三维向量部分,可以用来表示旋转操作。四元数在计算机图形学中广泛用于平滑的旋转和插值。
2025-03-26 17:27:38
667
原创 qt QOffscreenSurface详解
QOffscreenSurface 是 Qt 中用于离屏渲染的一个类。它允许在不直接与屏幕交互的情况下进行 OpenGL 渲染操作,常用于生成纹理、预渲染场景等。通过 QOffscreenSurface,可以在后台创建一个渲染表面,进行绘制操作,并将结果捕获为 QImage 或其他格式。
2025-03-25 10:54:57
778
原创 lvgl学习(四)之移植FreeType字库
FreeType是一款开源的字体渲染引擎,它支持多种字体格式(后缀名.tty .ttc),在windows系统下的font目录下存储了很多字体文件,大家可以选择自己喜欢的字体风格,如下所示:LVGL中提供了关于FreeType字库在linux系统下的Vscode模拟器的移植流程,如下图所示:可以看到,FreeType字库是需要依赖zlib库的(FreeType-->Libpng-->zlib),并且移植完成后需要配置工程的Makefile文件的头文件路径和库文件路径,
2025-03-24 10:31:24
846
原创 lvgl学习(三)之常用控件
平铺视图部件可以实现不同方向的页面切换,用户可以页面中添加内容。选项卡部件可以实现多页面切换,用户可以在不同的页面中添加内容。微调器部件本质上就是一个数字文本,常用于精确调节某个参数的值。键盘部件可用于输入文本内容,其本质上就是一个特殊的按钮矩阵。消息框部件可以实现弹窗提示,常用于消息通知、确定操作等。窗口部件可以作为一个容器,展现不同功能的页面。觉得有帮助的话,打赏一下呗。
2025-03-21 17:09:08
266
原创 lvgl学习(一)
在LVGL中,对象(Object)是用户界面(UI)的最小组成单元,是一切可视化控件(如按钮、标签、滑块等)的抽象基类。它定义了控件的基础行为和通用属性(位置、尺寸、样式、事件等),并通过继承机制派生出各类具体控件,形成层次化的UI结构。LVGL采用的是的编程思想,以抽象的类来实例化不同的对象(部件)。由于C语言中没有“类”的概念,LVGL以的形式来实现“类”的思想。
2025-03-20 15:42:12
635
原创 对接豆包大模型
可以知道豆包大模型可以采用HTTP的POST请求来进行对话,由于使用的是主流的HTTP/1.1的协议版本,支持长连接,但是如果打算在请求中包含请求body的话,一般是需要在构造HTTP请求的时候使用头部字段。role指的是角色,分为system和user,system指的是豆包大模型,user指的是用户,大模型和用户需要分别输入对应的对话内容。对于system的content指的是提供给大模型的提示词,对于user的content指的是提供给大模型的对话内容。觉得有帮助的话,打赏一下呗。
2025-03-19 14:15:47
489
4
原创 OpenGL 将屏幕上的二维坐标转换为三维空间中的一个点
屏幕坐标到标准化设备坐标 (NDC): 将屏幕坐标 (x, y) 转换为 NDC 坐标系。NDC 到相机空间: 使用逆投影矩阵将 NDC 坐标转换到相机空间。相机空间到世界空间: 使用逆视图矩阵将相机空间坐标转换到世界空间。
2025-03-18 09:24:31
316
原创 继电器模块使用
控制信号输入,用于连接到微控制器(如Arduino、Raspberry Pi)的数字输出引脚。:当COM与HIGH短接时,模块使用高电平触发。:当COM与LOW短接时,模块使用低电平触发。:绿色LED指示灯,显示继电器工作状态。:用于连接电源的正负极(供模块工作):常闭端(继电器未触发时闭合)觉得有帮助的话,打赏一下呗。:内置光耦隔离,保护控制电路。:常开端(继电器触发时闭合)
2025-03-09 18:20:29
345
原创 贝塞尔曲线学习
一阶贝塞尔曲线其实是一条直线——给定点 P0、P1,线性贝塞尔曲线就是一条两点之间的直线,公式如下:一阶曲线很好理解, 就是根据t来线性插值。
2025-03-05 16:27:10
176
原创 Docker 安装与使用
1、更新apt:2、安装依赖包3、添加Docker的官方GPG密钥:4、添加Docker APT存储库:5、再次更新apt软件包索引:6、确保从Docker存储库而不是默认存储库中安装:7、安装Docker:8、验证Docker是否正确安装:要构建Docker镜像,需要编辑一个Dockerfile文件,来描述镜像的构建过程。新建一个空目录,然后创建一个名为Dockerfile的文本文件,将如下内容拷贝进去:2、编译镜像使用命令在Dockerfile所在的目录中构建镜像:这将创建一个名为的新镜像。标
2025-03-04 11:30:09
640
原创 qt QOpenGLTexture详解
是 Qt5 提供的一个类,用于表示和管理 OpenGL 纹理。它封装了 OpenGL 纹理的创建、分配存储、绑定和设置像素数据等操作,简化了 OpenGL 纹理的使用。
2025-02-17 18:27:56
919
原创 Qt QOpenGLShaderProgram详解
是 Qt 框架中用于管理 OpenGL 着色器程序的类。它提供了一种方便的方式来创建、编译和链接着色器,以及管理着色器程序中的属性和统一变量。通过,开发者可以轻松地将顶点着色器和片段着色器组合成一个完整的着色器程序,并在 OpenGL 渲染中使用。
2025-02-13 09:32:03
638
原创 qt QOpenGLContext详解
是 Qt 提供的一个类,用于管理 OpenGL 上下文。它封装了 OpenGL 上下文的创建、配置和管理功能,使得开发者可以在 Qt 应用程序中以平台无关的方式使用 OpenGL。通过,可以轻松地创建和管理 OpenGL 上下文,并与 Qt 的窗口系统集成。
2025-02-12 09:21:10
924
原创 Qt QOpenGLFunctions详解
是 Qt 提供的一个工具类,用于封装 OpenGL 的函数调用。它使得在 Qt 应用程序中使用 OpenGL 更加方便和安全,同时提供了跨平台的兼容性。通过继承,开发者可以轻松地访问 OpenGL 的核心功能,而无需直接调用原生的 OpenGL API。提供了大量封装的 OpenGL 函数,这些函数与 OpenGL 的原生函数一一对应,但通过 Qt 的方式进行了封装,使得代码更加简洁和易于管理。此外,还提供了一些辅助功能,例如检查 OpenGL 功能是否可用。
2025-02-11 18:05:55
499
原创 Qt QOpenGLWidget详解
是 Qt 框架中用于集成 OpenGL 渲染功能的类,它继承自QWidget,允许开发者在 Qt 应用程序中轻松嵌入 OpenGL 图形。通过继承并重写其虚函数(如resizeGL()和paintGL()),可以实现自定义的 OpenGL 渲染逻辑。
2025-02-11 17:54:36
717
原创 Qt QElapsedTimer 详解
QElapsedTimer是Qt框架中提供的一个高精度计时器类,主要用于测量代码执行时间和事件间隔。它能够在不同操作系统上提供准确的计时功能,并返回毫秒或纳秒级别的时间。QElapsedTimer没有父类,不支持Qt的元对象系统,因此只有接口函数。其计算精度比较高,非常适用于需要高精度计时的应用程序,如图形应用程序、动画游戏以及性能测试等。
2025-02-11 15:00:19
399
原创 qml slider详解
Slider是 QML 中用于通过滑动手柄选择值的控件。它允许用户在指定范围内选择一个值,常用于音量控制、亮度调节等场景。Slider支持水平和垂直方向,可通过多种属性和信号进行自定义和交互。
2025-02-11 09:38:32
347
原创 qml ProgressBar详解
ProgressBar是QML中用于表示操作进度的一个控件,通常用于显示文件上传、下载、计算或其他长时间任务的进度。ProgressBar的进度由value属性定期更新,范围由from和to属性定义。此外,ProgressBar还支持indeterminate模式,用于表示无法确定进度的操作。
2025-02-11 09:00:07
244
原创 qml Page详解
QML(Qt Modeling Language)中的Page控件是用于在SwipeView或类似容器中承载内容的独立页面。Page控件通常包含一组UI元素,如文本、图像、按钮等,这些元素共同构成了应用程序中的一个逻辑页面。通过SwipeView或其他页面容器,用户可以在不同的Page之间轻松切换。
2025-02-10 18:34:08
381
原创 qml PageIndicator详解
PageIndicator 是 QML(Qt Modeling Language)中的一个控件类型,它用于在包含多个页面的容器中指示当前活动的页面。PageIndicator 由呈现页面的委托项目组成,通常与 SwipeView 一起使用,以提供页面切换的视觉反馈。
2025-02-10 18:07:48
317
原创 qml SwipeView详解
SwipeView是QML(Qt Modeling Language)中的一个控件类型,它提供了一种基于滑动的导航模型。SwipeView允许用户通过侧向滑动来在不同页面之间导航,每次只显示一个页面。它通常与PageIndicator结合使用,以向用户指示有多个页面的视觉线索,并显示当前活动的页面。
2025-02-10 17:59:33
308
原创 qml BusyIndicator详解
BusyIndicator是QML中的一个组件,用于在应用程序中显示一个忙指示器。当应用程序正在执行长时间运行的任务时,可以使用BusyIndicator来向用户提示应用程序正在处理,并防止用户进行任何不必要的操作。BusyIndicator类似于非确定性进度条,两者都可以用于指示后台活动,主要区别在于视觉效果以及进度条还可以展示具体的进度量(当可以确定时)。
2025-02-10 17:43:00
129
原创 qml FolderListModel详解
FolderListModel 是 Qt QML 提供的一个可以访问本地系统文件夹内容的组件,它能够将获取到的文件夹信息提供给其他组件使用。使用 FolderListModel,可以轻松地在 QML 应用中展示和操作文件系统中的文件和目录。
2025-02-10 17:29:12
411
原创 qml DelayButton详解
是 Qt Quick 中的一个按钮控件,继承自Button,并提供延迟触发功能。它在用户点击按钮后,会经过一定的延迟时间,才会执行相应的操作。这个控件非常适用于防止按钮被频繁点击的场景,或需要等待一定时间后才执行某些操作的场合。
2025-02-10 17:08:54
291
原创 qml RoundButton详解
RoundButton是QML(Qt Modeling Language)中的一种按钮控件,它继承自Button控件,并增加了一个特殊的属性——radius,用于设置按钮圆角的半径。这使得RoundButton能够呈现为带有圆角的形状,而不仅仅是标准的矩形按钮。用户可以通过点击RoundButton来触发相应的操作或事件。
2025-02-10 16:46:02
266
原创 qml ToolBar详解
在 QML 中,ToolBar是一种常用的 UI 组件,通常位于窗口的顶部或底部,用于提供一系列的操作按钮、菜单或其他交互元素。它可以帮助用户快速访问应用程序的常用功能,提高用户操作的便捷性。ToolBar可以包含多个ToolButtonSeparator等子项,并且支持自定义样式和布局。
2025-02-10 16:38:53
325
原创 qml Switch详解
QML Switch是一种可视化控件,用于在用户界面中切换开关状态。它提供了一个滑动按钮,当按钮处于“开”状态时,表示开启状态;当按钮处于“关”状态时,表示关闭状态。在QML中,可以使用Switch控件来实现一些功能,比如启用/禁用某个功能、切换显示模式等。
2025-02-10 15:13:58
188
原创 qml ComboBox详解
ComboBox是Qt Quick Controls中的一个用户界面组件,它结合了按钮和弹出列表的特点,提供了一种节省空间的方式来展示选项列表。用户可以从下拉列表中选择一个项目,适用于需要用户从一系列预定义选项中进行选择的场景。
2025-02-10 15:01:07
836
原创 qt QCommandLineOption 详解
QCommandLineOption类是Qt框架中用于解析命令行参数的类。它提供了一种方便的方式来定义和解析命令行选项,并且可以与QCommandLineParser类一起使用,以便在应用程序中轻松处理命令行参数。通过QCommandLineOption类,开发者可以更便捷地处理Qt应用程序的命令行输入,提高程序的灵活性和用户体验。
2025-02-10 14:41:59
432
原创 qml TableView详解
TableView是Qt Quick Controls 2中的一个组件,它提供了一个强大的表格视图,用于在QML应用程序中显示二维数据。TableView支持自定义列宽、行高、单元格样式以及数据模型,使得开发者能够轻松地创建复杂的数据表格。通过TableView,用户可以浏览、编辑和筛选数据,提高应用程序的交互性和用户体验。
2025-01-24 14:38:55
526
原创 qml MessageDialog详解
MessageDialog是Qt Quick Controls中的一个组件,它提供了一个QML API用于显示消息对话框。MessageDialog用于通知用户某种情况,或向用户提出问题,并允许用户通过点击按钮来响应。MessageDialog可以显示主要文本以警示用户,信息文本用于进一步解释或提问,详细文本则提供更深入的数据。此外,MessageDialog还支持多种图标和按钮组合,以满足不同的交互需求。
2025-01-24 09:05:53
317
原创 qml FontDialog详解
FontDialog是Qt Quick中用于创建字体选择对话框的组件。它允许用户在字体列表中选择特定的字体、字号、样式等属性,主要用于QML应用程序中实现字体选择功能。FontDialog提供了一个用户友好的界面,使得在QML中集成字体选择功能变得简单且直观,同时支持跨平台使用,确保在不同操作系统上都能提供一致的用户体验。
2025-01-24 08:54:32
272
qt QOffscreenSurface详解
2025-03-25
qt+opengl 播放yuv视频
2025-03-12
qt 基于百度API的车牌识别
2024-11-12
qt 3D编程 看详细介绍
2024-10-09
qt P2P网络通信(tcp、udp)
2024-09-26
qml PathView入门
2024-09-23
linux驱动学习(十四)之平台总线模型(GC6818的点灯例程)
2024-09-13
linux驱动学习(九)之中断(GEC6818按键)
2024-08-29
linux驱动学习(七)之混杂设备(GEC6818按键+LED+蜂鸣器)
2024-08-27
linux驱动学习(六)之GPIO(点灯+蜂鸣器)
2024-08-26
GEC6818 beep蜂鸣器驱动和应用源码
2024-08-22
GEC6818 led驱动和应用源码
2024-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人