1. 鲁班猫(LubanCat)与Qt

您所在的位置:网站首页 solaris查看硬件型号 1. 鲁班猫(LubanCat)与Qt

1. 鲁班猫(LubanCat)与Qt

2023-04-06 23:31| 来源: 网络整理| 查看: 265

1. 鲁班猫(LubanCat)与Qt¶

本章将主要介绍一下Qt和LubanCat-RK系列板卡,以及如何在板卡上开发。

1.1. Qt简介¶ 1.1.1. Qt框架¶

One framework. One codebase. Any platform,这是Qt官网的一句话,很好的概括了什么是Qt。

Qt是一个跨平台的 C++ 开发库,旨在简化桌面、嵌入式和移动平台的应用程序和用户界面的创建等, 并支持C++,Python,QML,Javascript等多种语言,适合多种技术、开发方式。

Qt经常被当做一个GUI库,用来开发图形界面应用程序, 但Qt除了可以绘制漂亮的界面外,还包含很多其它功能,比如数据库、多线程、图像处理、音视频处理、网络通信、文件操作等等。

1.1.2. Qt发展¶

Qt最早是1991年由挪威的Eirik Chambe-Eng和Haavard Nord开发的,1994年3月4日成立奇趣科技公司(Trolltech);

2000年奇趣科技公司为开源社区发布了遵循 GPL(GNU General Public License)许可证的开源版本;

2008年诺基亚公司收购了奇趣科技公司,并增加了 LGPL(GNU Lesser General Public License)的授权模式;

2011年3月Qt 商业授权业务出售给了芬兰IT服务公司Digia;

Digia于2014 年 9 月宣布成立 Qt Company 全资子公司,独立运营Qt商业授权业务。

经过多年的发展,市面上也有很多基于Qt开发的应用程序:WPS、YY语音、豆瓣电台、虾米音乐、Autodesk Maya、 Autodesk 3ds Max、K Desktop Environment(KDE)、Photoshop等等

1.1.3. 为什么选择Qt¶

跨平台特性 使用Qt开发的软件只需要做很少的适配甚至根本不需要修改任何源代码,就可以在大多数的平台上(桌面端、移动端、嵌入式设备、微控制器)运行。

授权 Qt支持商业许可证和开源许可证,对于社区开发以及商业开发都非常友好。

嵌入式 Qt支持2D/3D图形渲染,并且支持OpenGL ES,支持嵌入式,MCU等领域的发展,其插件机制非常灵活。

应用程序开发的一站式解决方案 丰富的API、帮助文档、开发工具等等。

1.2. Qt工具和下载¶

Qt发展至今已经快三十年了,从Qt4到Qt5到Qt6已经经历了很多个版本的迭代。 同时也开发了qtdesignstudio,qtcreator,qt3dstudio等开发工具。

Qt框架和工具可在开源和商业许可证下使用,一般我们使用开源许可证进行开发。 商业许可的Qt包含额外的功能和生产力工具,有关详细信息,请参考http://www.qt.io/download/.

1.2.1. Qt开发工具¶

首先我们要明白Qt是一个应用程序框架,是一套库,是一系列开发工具的组合。 这些库,开发工具都是由Qt公司的程序员编写的,然后借助现有的编译工具编译出来的。

这套现有的编译工具叫 GNU 工具链。

GNU工具链(GNU toolchain)是一个包含了由GNU项目所产生的各种编程工具的集合。 这些工具形成了一条工具链(串行使用的一组工具),用于开发应用程序和操作系统。 GNU工具链在针对嵌入式系统的Linux内核、BSD及其它软件的开发中起着至关重要的作用。 GNU工具链中的部分工具也被Solaris, Mac OS X, Microsoft Windows (via Cygwin and MinGW/MSYS) 和 Sony PlayStation 3等等其它平台直接使用或进行了移植。

GNU工具链中包含的项目有:

GNU make:用于编译和构建的自动工具;

GNU编译器集合(GCC、G++):一组多种编程语言的编译器;

GNU Binutils:包含链接器、汇编器和其它工具的工具集;

GNU Debugger(GDB):代码调试工具;

GNU构建系统(autotools):Autoconf、Autoheader、Automake、Libtool

GNU 工具链是一套通用的工具链,而下面所说的 Qt 工具集 则是Qt特有的开发工具。

Qt 库

库文件一般指计算机上的一类文件,我们可以简单的把库文件看成一种代码共享,它提供给使用者一些可以直接拿来用的变量、函数或类。

库有两种静态库和动态库两种。其区别是:静态库在程序的链接阶段被复制到了程序中; 动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。 使用动态库的优点是系统只需载入一次动态库,不同的程序可以得到内存中相同的动态库的副本, 因此节省了很多内存,而且使用动态库也便于模块化更新程序。

Qt库,这里指Qt5的动态库(Windows下为dll文件,Linux下为so文件),在我们写代码的时候,只需要包含相关的头文件,就可以调用Qt的接口。

Qt 工具集

qmake 用于自动生成Makefile。

uic 用于读取XML格式的用户接口定义(.ui通过与生成)文件Qt设计并创建一个相应的C ++头文件。

moc 元对象编译器是处理Qt的C++扩展的程序。

rcc 资源编译器用于在构建过程中将资源嵌入到Qt应用程序中。

Qt Creator 是Qt官方推出的一款轻量级跨平台的集成开发环境(IDE)。

Qt Assistant 用于查看Qt帮助文件格式的在线文档的工具

Qt Designer Qt Designer是用于使用Qt小部件设计和构建图形用户界面(GUI)的Qt工具。

Qt Linguist Qt为将Qt C++和Qt Quick应用程序翻译成本地语言提供了出色的支持。

Qt Design Studio Qt Design Studio是一个UI设计和开发环境,用于创建动画UI并在台式机或Android和嵌入式Linux设备上进行预览。

Qt Creator 是我们最常用的工具,包括项目生成向导、高级的C++代码编辑器、浏览文件及类的工具、 集成了QtDesigner、图形化的GDB调试前端,集成qmake构建工具等。使用Qt Creator就能完成代码编写,程序编译、调试。

Qt Creator将用于构建和运行项目的设置分组为工具包,用于管理GNU工具链和Qt库版本,以简化跨平台和跨配置开发。 这个工具包叫 Qt构建套件(Kits) 。

1.2.2. Qt下载¶

在这个网站上我们可以找到上面提到的Qt开发工具,Qt源码,Qt库,https://download.qt.io/ , 大致介绍一下下载目录,方便读者查阅。

snapshots 预览版,最新的开发测试中的 Qt 库和开发工具

online Qt 在线安装源

official_releases 官方正式发行版

new_archive 新开发工具安装包

archive 旧开发工具安装包

ministro 迷你版,目前是针对 Android 的版本

linguist_releases 翻译工具发行版

learning 文档教程和示范视频

development_releases 开发版

community_releases 社区定制的 Qt 库

其中,archive,new_archive,official_releases中能下载到各种不同版本的Qt库、源码、开发工具。

1.3. 鲁班猫(LubanCat)简介¶

鲁班猫(LubanCat)是野火推出的运行Linux、Android的卡片电脑品牌,该系列卡片电脑硬件型号丰富,操作系统适配度高,开源教材资料众多,应用极其简单;

鲁班猫系统(LubanCat OS)是野火基于Debian、ubuntu系统制作的Linux发行版,为AI、工控、物联网、机器人以及编程教育等应用场景提供了便捷的示例和应用;

鲁班猫支持Ubuntu、Debian、Android等系统,提供多套教材, 覆盖纯应用层用户以及系统开发用户,即使初入行业的嵌入式小白, 也能根据我们的教程完成开发,而对资深的嵌入式老鸟,则能加速产品二次开发过程。

1.4. LubanCat+Qt=?¶

使用传统的PC开发与运行纯软件类型的应用程序也非常方便,但想要控制外部硬件或电气设备时, 就需要扩展IO卡、运动控制卡等专用硬件,昂贵且复杂。

而手机尺寸大小的LubanCat板卡,集成了IO、PWM、I2C、USB、网络等各种硬件控制与通讯接口, 能轻松与外部设备进行交互,而且功耗低、工业级的稳定性、性价比高等特点,非常适用于创客DIY、工控产品中。

Qt的一大特性就是 跨平台,无论是Windows,Ubuntu,ARM,都能很好的适配。LubanCat和Qt的结合又会碰撞出怎样的火花呢?

野火将基于LubanCat板卡,提供以下Qt应用开发示例:

应用环境搭建

文件管理

音视频应用

硬件控制应用示例

1.5. 鲁班猫Qt运行环境说明¶

嵌入式 Linux 图形界面 //待加

1.6. 参考资料¶

Qt官网 https://www.qt.io/

Qt文档 https://doc.qt.io/qt-5/index.html

Qt下载 https://download.qt.io/

Qt论坛 https://forum.qt.io/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3