基于AM437x开发板HelloWorld Qt程序开发

2018年05月17日 10:40    发布者:zhiwing
基于广州创龙TL437xF-EVM,使用最经典的HelloWorld入门程序,带领大家体验一下Qt界面开发流程,希望可以帮助到大家。广州创龙TL437xF-EVM是基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA处理器,图片如下:
下面进入正题:
此例程源码位于光盘"Demo\qt\helloworld\helloworld"目录下。可执行Qt程序镜像在光盘的路径为:"Demo\qt\helloworld\build-helloworld-AM437x-Debug\helloworld"可直接将其拷贝到开发板中运行。
1.  新建工程在菜单栏点击"File->NewFileorProject",在弹出的对话框中选择"Application ->Qt WidgetsApplication",再点击Choose,如下图所示:  在弹出的对话框的Name栏输入工程名称:helloworld,在"Create in"栏输入或者通过Browse选择工程存放目录,例如:"/home/tronlong/AM437x/qt"。点击Next,弹出如下界面:点击Next,弹出如下界面:在弹出的界面中,点击"Baseclass"选项下拉选择QWidget。"Base class"下拉框中一共有QWidget、QMainWindow和QDialog三个选项QWidget类是所有用户界面对象的基类,QMainWindow类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口,QDialog类是对话框窗口的基类。QMainWindow和QDialog都是继承自QWidget。
点击Next,弹出如下界面:
      
点击Finish完成新建工程,弹出基本工程框架,如下图所示:2 .  设计界面n 窗口大小设置
7寸屏的不能超过800*480,4.3寸屏不能超过480*272。请根据屏幕实际规格设置。双击"Forms->widget.ui"打开图形界面,如下图所示:在右下角的Property属性窗口中,可以看到有geometry选项,点开前面                              标志,可以看到有Width和Height的字段,双击输入显示尺寸,例如:Width:480,Height:272,如下图所示:n  标题设置
在将属性窗口的菜单条往下拖拉,在windowTitle字段,双击输入想要的窗口标题,这里的窗口标题命名为"HelloWorld",如下图:n  添加控件
添加Push Button(按钮)控件:鼠标拖拽Buttons下的Push Button控件移动到画布中,松开鼠标就放置了一个Push Button控件,用于点击退出程序。其他的控件放置方法一样。添加Label(文本标签):鼠标拖拽Display Widgets下的Label控件移动到画布中,松开鼠标就放置了一个Label控件,用于显示"Hello World!"。3.  编辑代码演示如何编辑代码,我们选用了最简单的示例代码—Close。双击TextLabel,输入“HelloWorld!”,双击PushButton,输入”Close”。右击界面上的Close按钮,点击"Go to slot…",如下图所示:在弹出的"Goto slot"对话框中选择"clicked()",然后点击OK确认,如下图所示:弹出代码编辑框,在"voidWidget::on_pushButton_clicked()"函数内添加指令"close();",如下图所示:点击所有未保存的代码文件,按"Ctrl+S"就可以保存了。4.在PC端运行HelloWorld Qt程序点击左下角的编译按钮                              ,在如下路径会生成PC端的Qt程序镜像helloworld:
/home/tronlong/AM437x/qt/build-helloworld-Desktop_Qt_5_6_2_GCC_64bit-Debug      
      点击左下角的运行按钮                              ,即可在PC端看到界面运行效果,如下图所示:  5.  开发板上运行HelloWorld Qt程序点击"Projects-> AM437x",等待运行图标变为绿色后,点击                              进行ARM端的编译,编译后,ARM端Qt程序镜像路径为:/home/tronlong/AM437x/qt/build-helloworld-AM437x-Debug/helloworld
如下图所示:
  将交叉编译产生的Qt程序镜像拷贝到开发板文件系统任意路径。启动开发板,在Qt程序镜像所在目录,执行如下命令运行Qt程序:Target#        /etc/init.d/matrix-gui-2.0 stop              //开发板已经设置上电自动执行此程序,先终止
Target#        ./helloworld -plugin Tslib      “-plugin Tslib”指使用以插件形式运行Qt触摸库。可以发现Qt界面为全屏,Qt界面尺寸设置没有生效,原因是系统默认使用GPU基于OPENGL ES进行图层渲染,图形效果更佳。如果期望Qt界面尺寸设置生效,并可以进行界面缩放,而对图层渲染效果要求不高,可以增加”-platform linuxfb”参数,运行命令如下:Target#        /etc/init.d/matrix-gui-2.0 stop              Target#        ./helloworld -platform linuxfb -pluginTslib       更多参数说明信息,请查看参考链接:http://doc.qt.io/qt-5/embedded-linux.html。
结束~