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

相关推荐
wuyk55510 分钟前
18.Kruskal 算法:用最短的边连成一张网
开发语言·算法·图论
Evand J10 分钟前
【MATLAB例程,图像降噪7】高斯加权滑动窗口滤波,用于图像降噪,带质量评价,附代码下载链接
开发语言·图像处理·matlab·滑动窗口·滤波·降噪·图像滤波
十年一梦惊觉醒20 分钟前
快手视频发布助手,全自动视频发布带货工具
开发语言·前端·javascript
Java后端的Ai之路20 分钟前
一文搞懂 GitHub Actions-CICD
开发语言·大模型·github·cicd·action
码匠许师傅23 分钟前
【C++三方组件】开篇总论:为什么需要以及如何选型?
开发语言·c++
cvby38 分钟前
C++11--右值引用和移动语义
开发语言·c++
颜颜yan_39 分钟前
Git Cola 鸿蒙 PC 版适配全记录:从 Qt 桌面工具到 ArkTS 原生应用
git·qt·harmonyos
en.en..1 小时前
TCP/UDP 收发流程(网络字节序---函数讲解)
开发语言·php
名字还没想好☜1 小时前
Go 用 json.Decoder 流式解析大 JSON:边读边处理不爆内存
开发语言·后端·golang·go·json
xiangyun611 小时前
【408数据结构 03】线性表与顺序表:C++手写SeqList
开发语言·数据结构·c++