自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 ubuntu22.04上添加STM32MP157、Qt5开发环境

前期的项目中,在我们已经将调试环境设置为双架构`Kits`,qt5 for ubuntu 和qt4 for arm,本次我们为STM32MP157-A7设备增加一个调试环境:qt5 for arm。本文记录了整个搭建过程。

2023-06-28 18:09:43 926 2

原创 Qt输入窗口部件编程(二)--文本编辑框

本文用三个文本输入框QLineEdit、QTextEdit、QPlainTextEdit的共性,写了一个综合例子。本文还通过设计一个小键盘,介绍Qt两个重要的容器类:QVector动态数组和QList可变长度数组。本例程设计是在chatgpt的帮助下完成的,编译代码经过测试通过。

2023-06-07 22:23:44 1979

原创 Qt输入窗口部件编程(一) QComboBox和QFontComboBox

本文介绍QComboBox组合框和 QFontComboBox字体组合框编程。例程的设计是在chatgpt的帮助下完成的。chatgpt 的自动代码生成功能给予了程序员一个全新的编程体验,只需要清晰地描述需求,chatgpt 就可以为我们提供相应的代码建议,极大地提高了开发效率和准确性。由于当前的chatgpt由于对篇幅的限制,目前还不能做比较大的项目,但已经能够为我们提供很多的代码模块。

2023-06-06 11:25:46 1221

原创 Qt常用的按钮控件编程(六)-- QDialogButtonBox 按钮

本文介绍`QDialogButtonBox`按钮编程。通过这个例子,巩固QT的信号与槽知识,了解Qt5对Qt4所做的改进。由于我们的开发的软件显示和输入需要在触摸屏上进行,因此本例演示了如何弹出一个小键盘。本例程设计是在chatgpt的帮助下完成的,编译代码经过测试通过。

2023-06-02 12:55:28 2018 1

原创 Qt常用的按钮控件编程(五)-- QCommandLinkButton 按钮

本文介绍QT常用控件`QCommandLinkButton`按钮编程。通过这个例子,进一步巩固QT管理资源机制,巩固QT的信号与槽知识,本例程还使用了QListView控件显示文件列表,同时使用水平布局(QHBoxLayout)和 竖直布局(QVBoxLayout)展示如何布局界面上的控件。本例程设计是在chatgpt的帮助下完成的,编译代码经过测试通过。

2023-05-30 14:49:12 1525

原创 用chatgpt学习在Iconfinder网站下载png图标

我们在工作和生活中,常常需要获取各种各样的信息和知识,ChatGPT作为一项辅助工具,是完成这项工作最好的帮手。本文用一个获取.png图标的例子,展示使用chatgpt获取知识和信息的方法。

2023-05-27 17:15:31 1992 1

原创 Qt常用的按钮控件编程(四)-- QCheckBox 按钮

本文介绍QT常用控件的第四个按钮,QCheckBox 按钮编程。通过这个例子,进一步巩固QT管理资源机制知识和使用样式表进行外观设置;学习QCheckBox 复选框的三态功能和如何使用 QButtonGroup分组管理QCheckBox 复选框 ,演示了如何在一个组内实现按钮的多选。文章中使用的例程和内容都是在chatgpt的帮助下完成的,并分别在ubuntu22.04系统(Qt5)和 ARM架构设备中亲测有效。

2023-05-23 22:00:45 348

原创 在ChatGpt的帮助下学习QT和写博文(个人体会)

GPT 作为一种大型语言模型,具有很多潜力和广泛的应用前景。 随着数据集规模的增加及模型技术的改进,它在多个 NLP(自然语言处理)任务方面表现出优异的性能。问题回答,即从一定的上下文中找到问题的答案只是它众多功能之一。本文将我在完成《Qt常用的按钮控件编程(四)-- QCheckBox 按钮》一文中与ChatGpt的一部分对话进行了展示。当然,总所周知,ChatGpt经常发生所谓“幻想”,回答不能直接作为标准答案,需要核实和测试,但瑕不掩瑜,更多的人会看到它的魅力,能像我一样喜欢上这个人类的新朋友。

2023-05-22 10:11:08 428

原创 Qt常用的按钮控件编程(三)-- QRadioButton 按钮

本文介绍QT常用控件的第三个按钮,QRadioButton 单选按钮编程。通过这个例子,初步了解QT管理资源机制,以及如何分组管理QRadioButton 单选按钮。项目演示如何使用默认的分组和 QButtonGroup 进行互斥设置,保证多个选项所在的组内只有一个被选中。项目使用样式表文件将两组按钮使用不同的样式表进行外观设置。文章中使用的例程和内容都是在chatgpt的帮助下完成的。

2023-05-15 11:39:02 817

原创 Qt常用的按钮控件编程(二)-- Tool Button按钮

本文介绍QT常用控件的第二个按钮,Tool Button按钮编程。通过这个例子,初步了解QToolBar容器控件,项目演示了如何将Tool Button按钮放置到QToolBar容器控件中。此外通过这个项目能够进一步熟悉QT的信号与槽机制,特别是连接函数connect()函数在Qt4和Qt5中的使用。我们的调试环境仍然是双架构`Kits`,编译调试在当前的ubuntu(qt5)中进行,重新编译后下载到目标arm设备(qt4)中运行。

2023-05-11 17:16:24 1702

原创 Qt常用的按钮控件编程(一)-- Push Button按钮

本文介绍QT常用控件的第一个按钮,Push Button按钮编程。通过这个例子,初步了解QT的信号与槽、样式表等机制,此外,我们的调试环境配置了双架构`Kits`,使得编译调试可以在当前的ubuntu中进行,也可以重新编译后下载到目标arm设备中运行。

2023-05-05 18:27:58 1101

原创 Ubuntu64位系统(20.04、22.04)安装32位armQT4开发环境补充说明

在 Ubuntu 20.04和Ubuntu 22.04中,出现了新的兼容性问题,如果希望在ubuntu中编译和安装qt4源码,则需要降低GCC的版本。我们是通过使用 `update-alternatives` 命令来切换版本,即在不同版本的 GCC 和 G++ 之间进行切换,完成对QT4编译和安装。还有另一个更为实用的在新的ubuntu系统中搭建QT4开发环境的方法,即将已经编译完成的QT库和tslib库导入的方法,我们也做了简单的介绍。

2023-05-04 16:29:03 2933

原创 Ubuntu64位系统(v18.04)下arm32位版本(Qt4.8.6和tslib1.4)开发环境搭建

Qt 库通常是在目标开发板的操作系统安装时安装的。这意味着,Qt 库作为操作系统的一部分已经预先安装在arm目标开发板上,并且与操作系统的版本和架构兼容。开发应用程序时,需要了解目标平台的硬件和软件环境,并确保使用与目标平台兼容的 Qt 库版本。在64位Ubuntu系统上编译运行适用于arm架构的32位Qt应用程序需要注意许多兼容性问题,本文记录了这一配置过程。

2023-04-27 22:37:30 2755

原创 TF-A源码bl1_setup函数整体分析(TF-A入口分析四)

el3_entrypoint_common 宏,用一致性和简化代码实现了各个阶段的入口点公共功能。而接下来bl1_setup函数则是专门针对BL1阶段进行初始化。本文讨论了这个函数的整体功能,随后对实现这个函数所用到的公共函数和辅助宏进行入门分析。这些公共函数和辅助宏不但对于后面的tf-a代码的分析有很大的帮助,同时对于我们自己工作的编程也有很好的借鉴作用。

2023-04-20 10:42:43 274

原创 ubuntu虚拟机安装Qt4 for ARM 交叉开发环境

为了维护公司的早期项目,需要在ubuntu18.04虚拟机中安装QT4-ARM交叉开发环境,用一篇博文记录下来,供与我有相同需求的同仁参考。

2023-04-12 13:56:55 1109

原创 ubuntu虚拟机安装Qt5 for ARM 集成tslib库

tslib库是一个开源库,专门为触摸屏设备设计,提供了通用的触摸屏事件处理框架,可以有效地解决Linux系统中触摸屏设备的输入问题。在上一篇文章《Ubuntu虚拟机安装Qt5 for ARM交叉开发环境》中,我们详细介绍了如何在虚拟机中安装Qt交叉开发环境。本篇文章将介绍如何将tslib库集成到Qt5中,以便在Qt应用程序中使用触摸屏事件处理。

2023-04-11 16:56:17 671

原创 ubuntu虚拟机安装Qt5 for ARM交叉开发环境

本文讲述了在虚拟机中安装 Qt 交叉开发环境详细过程。以便在虚拟机中进行 Qt 应用程序的开发,处理触摸屏的部分会在下一篇文章中叙述。

2023-04-08 15:34:56 3889 2

原创 TF-A分配堆栈空间详解(TF-A入口分析三)

在多核处理器环境中,每个CPU核心都需要获得独立的栈空间,从而在并行运行时避免栈空间冲突和竞争。为每个cpu分配堆栈空间仍是由TF-A中入口函数的第一个宏`el3_entrypoint_common`完成的,分配堆栈空间除了设置栈的起始地址和大小,还将栈指针sp(Stack Pointer)寄存器设置为指向该栈的顶部。本文详细地分析了TF-A分配堆栈空间的过程。

2023-03-28 10:39:07 626

原创 TF-A中入口函数的第一个宏`el3_entrypoint_common`详细分析之二(TF-A入口分析二)

`el3_entrypoint_common`宏是bl1_entrypoint函数调用的第一个宏。这个宏对于整个系统的启动,起着承上启下的作用,非常重要。由于这个宏很复杂也很庞大。所以专门用两篇博文来介绍,这里是其中的第二篇。本文分析的源码基于TF-A源码V2.8

2023-03-27 15:15:03 358

原创 TF-A中入口函数的第一个宏`el3_entrypoint_common`详细分析之一(TF-A入口分析一)

TF-A 是用于支持 ARMv8-A 架构处理器的可信启动固件。`bl1_entrypoint` 函数是 TF-A源码的入口点。可以简单理解为:当系统运行到 "bl1_entrypoint" 函数时,已经完成了对硬件平台的初始化,并且系统与硬件平台相关的差异已经抚平,准备好加载并执行 TF-A代码。`el3_entrypoint_common`宏是bl1_entrypoint调用的第一个宏,起着承上启下的作用,非常重要。我们用两篇博文来介绍,这里是第一篇。

2023-03-24 17:14:53 440

原创 QEMU 调试 TF-A开发环境建立(使用 QEMU 调试 TF-A (Trusted Firmware-A) 之二)

本文介绍如何建立一个开发环境,用来使用QEMU模拟`Cortex-A57`处理器运行和调试TF-A。文中所有命令都在本作者的设备上进行了测试。

2023-03-21 16:14:59 547 1

原创 qemu安装(使用 QEMU 调试 TF-A (Trusted Firmware-A) 之一)

我们计划使用QEMU模拟Cortex-A57处理器来运行TF-A。QEMU是一个免费开源的模拟器,可以模拟各种不同的处理器架构。TF-A(Trusted Firmware-A)是用于ARMv8-A处理器开发的一个开放源码的参考实现,不同的芯片厂商会根据它进行二次开发,以实现芯片的安全启动和运行。本文记录了qemu安装过程,作为使用 QEMU 调试 TF-A系列博文的第一篇。

2023-03-20 12:05:13 1057

原创 mosquitto客户端Socket通信设计特点(mosquitto2.0.15客户端源码分析之五)

Mosquitto 客户端在进行网络程序设计时有许多值得借鉴的技巧,比如发送队列、socketpair 等。在本文中,我们详细探讨了 Mosquitto 客户端 Socket 通信的设计理念,旨在为阅读源码的读者提供一些启示和参考。通过深入了解 Mosquitto 客户端的实现细节,我们希望能帮助大家更好地理解 MQTT 协议的运作原理,以及如何在实际项目中应用这些设计思想。

2023-03-20 09:57:09 486

原创 mosquitto客户端对象“struct mosquitto *mosq”管理下篇(mosquitto2.0.15客户端源码分析之四)

本文详细介绍了mosquitto客户端对象“struct mosquitto *mosq”的初始化过程中的网络参数设置,并详细介绍了三种客户端(发布、订阅、请求响应)在注册回调函数和所调用的回调函数中的功能的异同。

2023-03-16 14:45:52 523

原创 mosquitto客户端对象“struct mosquitto *mosq”管理上篇(mosquitto2.0.15客户端源码分析之三)

本文将详细介绍了mosquitto客户端对象“struct mosquitto *mosq”的初始化过程,分为上下两篇,上篇介绍对象的创建、初始化,下篇为网络参数设置和注册回调函数,为正在阅读mosquitto源码的读者提供一点参考。

2023-03-10 16:37:19 829

原创 mosquitto客户端配置参数中的6个属性指针管理(mosquitto2.0.15客户端源码分析之二)

mosquitto2.0.15客户端源码在`struct mosq_config` 结构体中定义了6个指针,用来保存需要设置的 MQTT 消息中的属性。本文详细讨论了mosquitto2.0.15客户端源码中如何初始化和管理这些指针。

2023-03-09 20:56:54 548

原创 mosquitto客户端配置参数管理(mosquitto2.0.15客户端源码分析之一)

本文详细介绍了其中`struct mosq_config` 定义的对象`cfg`的设置过程,为正在阅读mosquitto源码的读者提供一点参考。

2023-03-05 18:15:49 1552

原创 mosquitto2.0.15服务器主循环函数`mosquitto_main_loop`如何与客户端交互

本文基于mosquitto2.0.15源码,详细分析mosquitto服务器主循环函数`mosquitto_main_loop`与客户端交互的主要过程。

2023-03-01 14:06:41 361

原创 mosquitto心跳和网络重连机制(基于MQTT协议)

通过对mosquitto2.0.15源码的分析,介绍mosquitto心跳和网络重连机制

2023-02-25 18:33:23 5542 6

Qt输入窗口部件编程(二)-文本编辑框

本文用三个文本输入框QLineEdit、QTextEdit、QPlainTextEdit的共性,写了一个综合例子。本文还通过设计一个小键盘,介绍Qt两个重要的容器类:QVector动态数组和QList可变长度数组。

2023-06-07

Qt输入窗口部件编程(一) QComboBox和QFontComboBox

QComboBox组合框和 QFontComboBox字体组合框例程。例程的设计是在chatgpt的帮助下完成的。 chatgpt 的自动代码生成功能给予了程序员一个全新的编程体验,只需要清晰地描述需求,chatgpt 就可以为我们提供相应的代码建议,极大地提高了开发效率和准确性。由于当前的chatgpt由于对篇幅的限制,目前还不能做比较大的项目,但已经能够为我们提供很多的代码模块。

2023-06-06

Qt常用的按钮控件编程(六)- QDialogButtonBox 按钮

本文介绍`QDialogButtonBox`按钮编程。通过这个例子,巩固QT的信号与槽知识,了解Qt5对Qt4所做的改进。由于我们的开发的软件显示和输入需要在触摸屏上进行,因此本例演示了如何弹出一个小键盘。

2023-06-02

Qt常用的按钮控件编程(三)- QRadioButton 按钮

本例程为QRadioButton 单选按钮编程。通过这个例子,初步了解QT管理资源机制,以及如何分组管理QRadioButton 单选按钮。项目演示如何使用默认的分组和 QButtonGroup 进行互斥设置,保证多个选项所在的组内只有一个被选中。项目使用样式表文件将两组按钮使用不同的样式表进行外观设置。 文章中使用的例程和内容都是在chatgpt的帮助下完成的,例程经过测试通过。

2023-05-30

Qt常用的按钮控件编程(三)- QRadioButton 按钮

本例程为QRadioButton 单选按钮编程。通过这个例子,初步了解QT管理资源机制,以及如何分组管理QRadioButton 单选按钮。项目演示如何使用默认的分组和 QButtonGroup 进行互斥设置,保证多个选项所在的组内只有一个被选中。项目使用样式表文件将两组按钮使用不同的样式表进行外观设置。 文章中使用的例程和内容都是在chatgpt的帮助下完成的,例程经过测试通过。

2023-05-30

Qt常用的按钮控件编程(一)- Push Button按钮

本例程为Push Button按钮编程。通过这个例子,初步了解QT的信号与槽、样式表等机制,此外,我们的调试环境配置了双架构`Kits`,使得编译调试可以在当前的ubuntu中进行,也可以重新编译后下载到目标arm设备中运行。

2023-05-30

Qt常用的按钮控件编程(五)- QCommandLinkButton 按钮

例程为`QCommandLinkButton`按钮编程。通过这个例子,进一步巩固QT管理资源机制,巩固QT的信号与槽知识,本例程还使用了QListView控件显示文件列表,同时使用水平布局(QHBoxLayout)和 竖直布局(QVBoxLayout)展示如何布局界面上的控件。 本例程设计是在chatgpt的帮助下完成的,编译代码经过测试通过。

2023-05-30

空空如也

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

TA关注的人

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