网站首页 > 技术文章 正文
1基于命令行编译Qt工程
进入image_display工程源码目录,执行qmake命令生成Makefle文件,配置交叉 编译工具链环境变量,再执行make命令编译生成可在评估板上正常运行的ARM端Qt 程序镜像,如下图所示。
Host#cd /home/tronlong/Demo/qt-demos/image_display/sre
Host#/home/tronlong/RK3562/rk3562_Iinux_sdk_release_v1.1.0/buildroot/output/rockchi p_rk3562/host/bin/qmake
Host#export PATH=/home/tronlong/RK3562/rk3562_linux_sdk_release_v1.1.0/buildroot/ output/rockchip_rk3562/host/bin:SPATH
Host#make
2基于Qt Creator工具编译Qt工程
请先自行下载、安装Qt Creator工具至Ubuntu,执行如下命令启动Qt Creator(本 次操作使用Qt Creator版本为4.11.0)。
Host#qtcreator
启动Qt Creator工具后,点击菜单栏"Took >Options."。
点击"Kits",打开配置选择页面
2.1配置交叉编译工具链
点击"Compilers ->Add>GCC >C++Browse.",选择平台交叉编译工具链中的
aarch64-buildroot-inux-gnu-g++,然后点击Open确认。具体路径为:
/home/tronlong/RK3562/rk3562_Iinux_sdk_release_y110/buldroot/outputrockchip_rk3562/host/bin/aa rch64-buildroot-inux-gnu-g+
选择后,Name修改为"3562-GCC",ABI选择”arm-Iinux-genericelf-64bit",再点击App ly,如下图所示。
2.2配置qt Versions
点击"Qt Versions Add",选择平台qmake,然后点击Open确认。具体路径为: /home/tronlong/RK3562/k3562_linu_sdk_release_y1.1.0/buildroot/output/ockchip_k3562/host/bin/q make
选择后,Version name修改为"3562-q5"再点击Apply.如下图所示。
2.3配置Kits
请参照下图配置Kits各选项。点击Kits >Add",将Name修改为3562",Device ty pe选择"Generic Linux Device",Compiler的C++选择"3562-GCC",Debugger选择"None", Qt version选择"3562-qt5",点击Apply.然后点击OK完成配置。
2.4编译Qt工程
点击"Open Project"。
选中Qt工程源码目录中.pro文件,点击Open.
勾选3562平台Kts,点击"Configure Project"进行工程配置,如下图所示。
右击Qt工程,点击Buld进行Qt工程编译
编译完成后,将生成可在评估板上运行的ARM端Qt程序镜像,如下图所示
3在评估板上运行Qt程序
评估板上电启动,进入评估板文件系统,将ARM端Qt程序镜像拷贝至评估板文件系 统任意目录下,同时将image_dsplay工程bin日录下文件名为test jpg的JPG格式图片拷 贝至相同路径。请在Qt程序镜像所在路径下执行如下命令。
(1)查看程序运行参数。
Target#/image_display
参数解释
image path:图片路径。
rotation:该参数为1,则竖屏显示
(2)横屏显示图片。
执行如下命令,点击全屏显示窗口后,显示屏将显示如下图像,按"Ctrl+C"退出程序。 备注:若打印警告信息"QStandardPaths runtime directory..",忽略该信息即可,不影响程 序运行。
Target#
./image_display ./test.jpg -platform wayland
(3)竖屏显示图片
执行如下命令,显示屏将显示如下图像,按"Crl+C"退出程序。
Target#
./Amage_display test.jpg 1-platform wayland
4Qt程序自启动说明
本章节以led_control案例为例,演示Qt程序自启动功能。led_control案例功能是通 过显示屏在Qt界面上显示LED控制按钮,用于控制LED亮灭。
请将案例bin目录下可执行程序led_control拷贝至评估板文件系统"ete/init.d/"目录。 评估板上电启动进入系统后,执行如下命令,新建一个开机自启动脚本文件。
Tar get# chmod a+x /etc/init.d/led_control Target# vi /ete/init.d/S99led_control
开机自启动脚本文件内容如下:
W/bin/sh sleep 5 .ete/profile /etc/init.d/led_control -platform wayland
添加内容完成后,请保存退出,执行如下命令修改开机自启动脚本文件权限。 Target# chmod a+x /etc/init.d/S99led_control Target# sync
请将评估板断电重启,Qt程序将会自启动:Qt程序运行成功后,可观察到HDMI显 示屏显示LED控制界面,如下图所示。
可通过鼠标点击界面控制LED亮灭,或切换为LVDS LCD、MIPI LCD等显示方式进行 测试。
如需取消评估板Qt程序自启动,请将开机自启动脚本文件删除即可 Target# rm /etc/init.d/S99led_control
5 GPU核心使用演示案例
本章节通过texture案例,演示基于Qt+OpenGL调用GPU核心进行图形渲染。
5.1案例说明
本案例使用Qt提供的OpenGL模块,该模块是对OpenGL原生API进一步的封装并支 持GUI编程,使得在Qt应用程序中使用OpenGL变得更加容易
Qt程序在调用OpenGL模块的API时,会调用官方提供的OpenGL库,该库通过底层 驱动调用GPU资源来进行图像的渲染。
5.2案例测试
进入评估板文件系统,将texture案例的ARM端Qt程序镜像拷贝至评估板文件系统 任意目录下。请在Qt程序镜像所在路径下执行如下命令。
Target# ./textures -platform waybnd
Qt程序运行后,显示界面如下,使用鼠标点击任意一个骰子,被选中的骰子将自动 进行旋转。
5.3关键代码
(1)初始化主窗口,创建6个Qopenglwidget.并开启定时器。
(2)初始化OpenGL资源。
(3)处理QMouseEvent事件
(4)使用OpenGL进行绘制。
(5)OpenGL部件大小调整时,触发resizeGL事件。
猜你喜欢
- 2025-01-07 推荐一款支持40+通讯协议的强大工业调试软件
- 2025-01-07 2024年windows原生应用用什么框架开发?
- 2025-01-07 基于跨平台的实时数据处理系统的设计
- 2025-01-07 一文分析QtCreator中MSVC编译套件
- 2025-01-07 C++Qt开发——事件处理函数
- 2025-01-07 Qt开发——NotePad实例开发
- 2025-01-07 解决Linux 下QT Creator 无法输入中文
- 2025-01-07 (1) 安装配置 pyqt5(windows),使用designer设计工具
- 2025-01-07 Linux平台上的PHP IDE盘点
- 2025-01-07 Ubuntu 24.04 解决运行 Flameshot 报错:Unable to capture screen
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)