二、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重启即可

相关推荐
wearegogog12313 分钟前
C语言中的输入输出函数:构建程序交互的基石
c语言·开发语言·交互
Fine姐16 分钟前
The Network Link Layer: 无线传感器中Delay Tolerant Networks – DTNs 延迟容忍网络
开发语言·网络·php·硬件架构
HAPPY酷34 分钟前
给纯小白的Python操作 PDF 笔记
开发语言·python·pdf
liulilittle42 分钟前
BFS寻路算法解析与实现
开发语言·c++·算法·宽度优先·寻路算法·寻路
阿珊和她的猫1 小时前
autofit.js: 自动调整HTML元素大小的JavaScript库
开发语言·javascript·html
喜欢吃燃面1 小时前
C++算法竞赛:位运算
开发语言·c++·学习·算法
草莓熊Lotso1 小时前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
开发语言·c++·经验分享·笔记·其他
谱写秋天2 小时前
Qt 5.5 的安装与配置(使用 VSCode编辑)
开发语言·vscode·qt
项目申报小狂人2 小时前
算法应用上新!自适应更新策略差分进化算法求解球形多飞行器路径规划问题,附完整MATLAB代码
开发语言·算法·matlab