广轻电气091 发表于 2019-4-3 11:31:41

嵌入式Linux应用程序开发-(1)第一个嵌入式QT应用程序

本帖最后由 广轻电气091 于 2019-4-3 11:37 编辑

第一个嵌入式QT应用程序

在成功安装Qt Creator开发环境后,我们通过一个简单的嵌入式Qt应用程序,来说明一下如何构建和编译一个Qt界面应用程序。
关于如何安装并构建Qt Creator开发环境,请参考以下帖子:
      嵌入式Linux开发环境搭建-(5)安装Qt Creator开发工具

目标:了解Qt Creator如何构建和编译工程,如何把应用程序放到开发板运行。
功能:通过点击触摸屏上的按钮,实现不同的显示效果。
我们把第一个Qt应用程序放在ubuntu系统的/opt/work/qt-application/first_app目录下。

1、打开Qt Creator开发环境,点击“New Project”,在弹出的对话框中,选择“Application”->“Qt Widgets Application”,点击“Choose...”。


2、点击“Choose...”后,在弹出的对话框中,设置项目名称和项目的保存路径,笔者把项目保存在 /opt/work/qt-application/first_app 目录下,然后点击“下一步”,如下图所示:


3、在弹出的对话框中,选择构建套件,工具链选择“imx6ul-toolchain”,我们目前在debug环境下调试,因此,去除“Release”和“Profile”选项,再点击“下一步”。


4、在弹出的对话框中,我们选择构建界面的基类,我们选择“QWidget”作为基类,类名,头文件,源文件,界面文件这些属性,可以重命名,笔者选择默认。然后点击“下一步”。(关于“QWidget”和“QMainWindow”的区别,可自行上网查询,这里不作详细描述。)


5、在弹出的对话框中,选择版本控制软件,目前笔者没有进行版本控制,选择“None”,最后点击“完成”。Qt工程构建完毕。


6、工程创建完成后,开发界面如下图所示。关于Qt的具体编程细节,本手册不作描述。本手册的所有源码均公开,源码含有适当的注释以辅助阅读,开发者可作学习参考。


7、双击打开widget.ui文件,设计一个简单的Qt界面,含有一个文本显示控件和三个按钮,点击不同的按钮,会在文本显示框内显示不同内容。


8、双击打开widget.cpp文件,完成代码编辑,如下图所示。


9、点击左下角的构建按钮,完成工程构建。工程构建完成后,生成的可执行文件存放在ubuntu系统的 /opt/work/qt-application/first_app/build-first_app-imx6ul_toolchain-Debug 目录。
执行以下命令,把可执行文件复制到ubuntu系统与开发板的共享目录。
      cpbuild-first_app-imx6ul_toolchain-Debug/first_app/opt/work/qt-images/-a


10、参考嵌入式Linux开发环境搭建-(3)配置Ubuntu16.04.2 LTS,使用NFS让开发板挂载到ubuntu目录。
在开发板的命令行终端,执行以下命令,把可执行文件复制到开发板的 /opt/qt-application 目录。
      cp/mnt/ubuntu-nfs/qt-images/first_app/opt/qt-application-a
执行以下命令,运行可执行程序
      cd/opt/qt-application
      ./first_app-qws


11、可执行程序在开发板里运行的界面,如下图所示,点击不同的按钮,文本显示窗口有不同的显示内容。


点击这里,下载工程源码

eliterxzgxu 发表于 2019-4-3 11:38:40

感谢楼主分享

meirenai 发表于 2019-4-4 23:27:01

感谢楼主分享

tdh03z 发表于 2019-4-5 08:35:39

好久以前这样操作过,现在又要捡起来了,谢谢分享

pengchhui 发表于 2019-4-7 20:30:35

感谢楼主分享,一直没系统学习过

zhousun 发表于 2019-4-7 20:44:16

谢谢分享

广轻电气091 发表于 2019-4-7 21:42:48

感谢关注

pchf005 发表于 2019-4-8 07:19:40

谢谢楼主

广轻电气091 发表于 2019-4-9 13:51:58

本章节pdf下载:

dragonlands 发表于 2019-4-12 21:10:13

厉害了,这板子可以安卓么

cne53102 发表于 2019-4-12 21:18:17

唉……2440还在吃灰……上次编译的时候还是赛扬CPU的台式机……度年如秒啊……

广轻电气091 发表于 2019-4-13 09:26:01

dragonlands 发表于 2019-4-12 21:10
厉害了,这板子可以安卓么

i.MX6UL只支持 Linux+Qt 呢,i.MX6Q可以支持 Linux+ubuntu 和 Android

广轻电气091 发表于 2019-4-13 09:26:22

cne53102 发表于 2019-4-12 21:18
唉……2440还在吃灰……上次编译的时候还是赛扬CPU的台式机……度年如秒啊…… ...

哈哈,嵌入式的老前辈,你好

xiangbin099 发表于 2019-4-13 09:32:27

谢谢分享!厉害

广轻电气091 发表于 2019-4-13 09:43:18

xiangbin099 发表于 2019-4-13 09:32
谢谢分享!厉害

感谢关注和支持

cne53102 发表于 2019-4-13 15:01:35

广轻电气091 发表于 2019-4-13 09:26
哈哈,嵌入式的老前辈,你好

哈哈啥老前辈呀,一直都是吃灰。。惭愧呀

prince2010 发表于 2019-4-16 18:09:32

本帖最后由 prince2010 于 2019-4-16 18:12 编辑

楼主不像初学啊{:lol:}

广轻电气091 发表于 2019-4-16 21:23:17

prince2010 发表于 2019-4-16 18:09
楼主不像初学啊

哈哈,水平比较菜,还需要继续努力

fenjinzhe 发表于 2019-4-16 22:04:46

支持一下,《第一个嵌入式QT应用程序》

广轻电气091 发表于 2019-4-17 08:53:54

fenjinzhe 发表于 2019-4-16 22:04
支持一下,《第一个嵌入式QT应用程序》

感谢支持!

广轻电气091 发表于 2019-4-29 13:56:14

源码下载路径已更改:点击这里

穿越时空 发表于 2019-5-5 17:01:31

本帖最后由 穿越时空 于 2019-5-5 17:02 编辑

楼主,我按照你的教程走,创建第一个后编译不通过

广轻电气091 发表于 2019-5-5 17:04:31

穿越时空 发表于 2019-5-5 17:01
楼主,我按照你的教程走,创建第一个后编译不通过

请问你是用哪个交叉编译器,你的交叉编译器是否安装成功?

穿越时空 发表于 2019-5-5 17:12:05

广轻电气091 发表于 2019-5-5 17:04
请问你是用哪个交叉编译器,你的交叉编译器是否安装成功?

交叉工具链:gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.bz2

广轻电气091 发表于 2019-5-5 17:22:21

你的构建套件是否正确配置?

穿越时空 发表于 2019-5-6 09:31:07

广轻电气091 发表于 2019-5-5 17:22
你的构建套件是否正确配置?

怎么验证构建套件是否正确配置,谢谢

广轻电气091 发表于 2019-5-6 09:41:04

穿越时空 发表于 2019-5-6 09:31
怎么验证构建套件是否正确配置,谢谢

请参考这篇文章:嵌入式Linux开发环境搭建-(5)安装Qt Creator开发工具

穿越时空 发表于 2019-5-6 10:01:56

广轻电气091 发表于 2019-5-6 09:41
请参考这篇文章:嵌入式Linux开发环境搭建-(5)安装Qt Creator开发工具

我都是按照这里面的操作的啊!我的qt是4.8.7

广轻电气091 发表于 2019-5-6 10:09:04

穿越时空 发表于 2019-5-6 10:01
我都是按照这里面的操作的啊!我的qt是4.8.7

可以把你的工程打包发出来吗?我看看

穿越时空 发表于 2019-5-6 11:51:24

广轻电气091 发表于 2019-5-6 10:09
可以把你的工程打包发出来吗?我看看

等等啊!我全部卸了,等我重新装好啊!

abcdzhy 发表于 2020-3-3 22:03:32

谢谢楼主分享,希望楼主多做点QT的程序。

kyq_linux 发表于 2020-3-3 22:16:39

感谢楼主分享

广轻电气091 发表于 2020-3-4 09:52:09

穿越时空 发表于 2019-5-6 11:51
等等啊!我全部卸了,等我重新装好啊!

感谢关注!

广轻电气091 发表于 2020-3-4 09:52:32

abcdzhy 发表于 2020-3-3 22:03
谢谢楼主分享,希望楼主多做点QT的程序。

感谢关注!

广轻电气091 发表于 2020-3-4 09:52:51

kyq_linux 发表于 2020-3-3 22:16
感谢楼主分享

感谢关注!

batou 发表于 2020-6-13 23:13:14

不错不错,之前在PC上弄个Qt,改天到板子上也试试
页: [1]
查看完整版本: 嵌入式Linux应用程序开发-(1)第一个嵌入式QT应用程序