二、QT和驱动模块实现智能家居-----4、编译Qt程序并运行

一、编译QT程序

第1步 修改界面:

双击左侧的 Forms 里的 mainwindow.ui 文件,打开 Design 视图。

然后如下图所示,从左侧Display Widgets 栏目下,拖动 Label 和 PushPutton到中间的区域。

第2步 添加测试代码:

第3步 构建:

点击菜单栏Build -> Build Project LED_and_TempHumi,开始编译、构建项目。 在构建过程中,会在左下侧是"Compile Output"窗口打印构建信息。如果有错误,请 根据提示出错信息修改,然后重新构建。

第4步 查看构建结果:

项目构建成功后,编译好的二进制文件存放在刚刚设置的目录中,可以使用 file 命令查看该 APP 是否被编译为 ARM 架构:

二、运行QT程序

1、手工运行

使用ADB把可执行程序LED_and_TempHumi放到到开发板上:

在开发板上执行如下命令:

复制代码
// 1. 关闭原来的GUI 
mv /etc/init.d/*lvgl* /root 
mv /etc/init.d/*hmi* /root 
reboot 
// 2. 禁止LCD黑屏 
echo -e "\033[9;0]" > /dev/tty0 
// 3. 设置QT运行环境 
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1 
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0 
export QT_QPA_FONTDIR=/usr/lib/fonts/ 
// 4. 运行QT程序 
/root/LED_and_TempHumi

不熟悉mv指令的看这篇文章:

Linux mv 命令-CSDN博客

在屏幕上可以看到如下界面:

点击LED按钮,可以在控制台看到如下输出信息:

2、自动运行

创建一个文件:/etc/init.d/S99myqt

复制代码
mkdir /etc/init.d/S99myqt
vi S99myqt

内容如下:

mkdir使用方法:Linux mkdir 命令-CSDN博客

vi编辑器使用方法:vi编辑器的使用(内附快捷键的使用)(超详细)-CSDN博客

复制代码
#!/bin/sh 
 
start() { 
echo -e "\033[9;0]" > /dev/tty0 
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1 
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0 
export QT_QPA_FONTDIR=/usr/lib/fonts/ 
 
psplash-write "PROGRESS 95" 
psplash-write "QUIT" 
/root/LED_and_TempHumi  & 
} 
 
stop() { 
    killall LED_and_TempHumi 
} 
 
case "$1" in 
    start) 
        start 
        ;; 
    stop) 
        stop 
        ;; 
    *) 
        echo "Usage: $0 {start| stop|restart}" 
        exit 1 
esac 
 
exit $?

然后reboot重启即可

相关推荐
回眸不遇8 分钟前
详谈 QT 布局 QLayout::SizeConstraint 和 QSizePolicy 对 QWidget 尺寸的影响
数据库·qt·系统架构
练习时长一年12 分钟前
@SneakyThrows注解
开发语言
我的xiaodoujiao16 分钟前
快速学习Python基础知识详细图文教程14--模块
开发语言·python·学习·测试工具
NoteStream28 分钟前
【c语言基础】C语言常见概念
c语言·开发语言·编辑器
吃好睡好便好29 分钟前
MATLAB中图像的线性变换
开发语言·图像处理·学习·计算机视觉·matlab
charlie11451419136 分钟前
Cinux —— 给物理内存建账本:bitmap 物理内存管理器
开发语言·c++·操作系统·开源项目
ShiXZ2131 小时前
Java 8 Stream API 实用技巧详解:从入门到精通
java·开发语言
冻柠檬飞冰走茶1 小时前
PTA基础编程题目集 7-27 冒泡法排序(C语言实现)
c语言·开发语言·数据结构·算法
听雨入夜1 小时前
“同声传译”还是“全文翻译”?为何HotSpot虚拟机仍要保留解释器?
开发语言·python
随风M记忆s1 小时前
GEE&Python-demo:利用Sentinel-监测北京奥林匹克森林公园年NDVI变化(附Python版)
开发语言·python·sentinel