ZedBoard学习手记(八) 更大的目标!

FPGA/ASIC技术

206人已加入

描述

在Linux下做GUI,比较简单的方法是使用QT。QT一直被用于跨平台的应用程序开发,之前属于Nokia,现在被卖给了Digia,开源版本的主页是。QT的开发语言是C++和QML,可以用各种工具来进行开发设计,官方的IDE是QT Creator。要说明的是,兔子没学过C++,只用过VB.NET(这甚至能追溯到初中的爱好,而我又一直都是个“不务正业”的人,总是无可救药地对与“正业”关系不大的知识产生兴趣。),不过面向对象嘛都是共通的,如果用过Visual Studio,熟悉下语法就应该可以开始开发了。首先要安装QT,兔子做开发的时候(Nokia还没把QT完全裁掉)Nokia制作了Qt SDK,将Qt Lib、Qt Creator等悉数集成,最后一版更新应该是QtSdk-offline-linux-x86-v1.2.1.run,只要在Ubuntu下双击运行就能完成全部安装工作,十分方便。不过现在Nokia自身难保,早已无暇顾及Qt的更新工作了,Digia也没有更新SDK的动作,并且封了之前的下载地址,所以只能分开下载安装Qt Creator和Qt Lib了,具体配置方法请自行研究。两天迅雷快传不能用了,过一段我会上传一个快传地址,让大家能共方便地使用SDK进行安装。兔子已经上传了一个安装包到快传,共享时间有限,需要的自行下载:现在最新的版本为5.0 Beta ,兔子使用的还是稳定版本4.8.3,安装完成后,在Ubuntu的导航栏中输入Qt,选择打开Qt Creator。

Linux

下面先写一个简单的软件(当然是HelloWorld)练习一下。新建一个工程,选择Qt GUI应用。

Linux

输入工程名称及路径,Qt Creator会自动建立一个与工程同名的文件夹。

Linux

选择目标平台,这里要在Ubuntu下运行调试,所以选桌面。

Linux

因为这里创建的是一个Qt GUI应用,Qt Creator会自动为工程创建一个窗口,这个窗口是以类的形式进行封装的,为它起名为HelloQT,基类是QmainWindow。

Linux

工程建立好后,双击左侧的helloqt.ui打开主窗口设计界面。

Linux

这个界面基本与Visual Studio类似,在设计界面中,左边是控件列表,右边是属性列表。不过兔子感觉,属性列表里所能涵盖的项目与VS相比十分有限,很多的操作还要通过代码来执行,自动补全功能也非常蛋疼。

Linux

 在设计界面中,为目标窗口添加一个Push Button和一个Label(拖进窗口里就行),分别命名为ButtonHello和LabelHello,我们要做的就是实现单击Button,改变Label的文本内容。

Linux

用过VB.NET或者C#的朋友应该清楚,这里只需要插入一个Button_Clicked的事件(Event),就能实现此功能。在QT中,与事件相对应的是信号槽(Signal Slot),用来传递按钮单击时产生的信号。右击Button选择转到槽。

Linux

信号类型选择clicked()。

Linux

IDE会自动切换到代码界面,为这个槽输入所需功能代码,与VS的另一个不同之处是,许多东西在VS中是可以修改的属性(比如这个Text),在QT里则无法通过操作属性赋值,而是要调用一个方法来执行,好不习惯啊。

Linux

 代码如下,浅显易懂,就是通过setText方法将Label的文本设置为“Hello QT!”。void HelloQT::on_ButtonHello_clicked(){    ui->LabelHello->setText("Hello QT!");}保存,点击运行按钮,Qt Creator会自动编译运行工程。

Linux

好了看看效果吧。

Linux

这个工程生成的可执行文件可以直接在Ubuntu下运行,用file指令查看应用程序信息,得知这是一个为x86 64-bit系统编译的程序,想要在ZedBoard上跑——无论是板子自带的Demo系统还是Linaro——还需要重新编译。

Linux

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分