收藏 分享(赏)

Qt-Embedded编程实战.ppt

上传人:saw518 文档编号:6002027 上传时间:2019-03-23 格式:PPT 页数:90 大小:315.50KB
下载 相关 举报
Qt-Embedded编程实战.ppt_第1页
第1页 / 共90页
Qt-Embedded编程实战.ppt_第2页
第2页 / 共90页
Qt-Embedded编程实战.ppt_第3页
第3页 / 共90页
Qt-Embedded编程实战.ppt_第4页
第4页 / 共90页
Qt-Embedded编程实战.ppt_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、1实验目的 (1) 掌握Qt/e编程的基本框架; (2) 掌握Qt/e程序编写和调试的基本方法; (3) 掌握Qt/e标签的使用。,Hello程序实验,硬件:PC机 1台软件: RedHat Linux 9.0操作系统嵌入式Linux开发环境嵌入式Linux开发环境(含Qt/e和Qtopia),2实验设备,创建和显示一个简单的窗口,使用标签显示字符串“Hello, Qt!”,在PC机上调试通过后交叉编译下载至sbc2410上运行。,3实验内容,(1) 熟悉基于PC的Qt和Qtopia模拟环境; (2) 预习C+程序编写方法; (3) 预习Qt的帮助手册,了解Qt编程的大致方法; (4) 熟悉更

2、新文件系统的基本方法。,4实验预习要求,标签是设计图形界面不可或缺的基本组件,利用标签我们可以显示各种信息。Qt为标签提供了一系列API函数,通过调用这些函数,可以很容易设计各种标签。调用Qt中标签的API函数,必须包含标签的头文件qlabel.h。如果需要显示的字符串信息很长,建议不要使用QLabel,改用其它部件如MultiLineedit(多行编辑区)。,5实验原理,(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,为本实验设置环境变量,然后创建文件夹hello。 $ cd /sbc2410/x86-qtopia $ . set-env $ mkdir hel

3、lo(2)进入hello目录,新建文件hello.cpp,并编写程序,然后用progen工具生成工程文件hello.pro。 $ cd hello $ vi hello.cpp $ progen t app.t o hello.pro,6实验步骤,(3)使用tmake工具,生成hello工程的Makefile文件。 $ tmake -o Makefile hello.pro(4)修改Makefile文件,在LIBS变量中增加需要用到的库,然后输入make命令编译。 LIBS = $(SUBLIBS) -L$(QTDIR)/lib -lqte -lm -lstdc+ $ make(5)启动虚拟控

4、制台,运行hello程序(主机须启动帧缓冲,必须能够访问/dev/fb0)。 $ cd /sbc2410/x86-qtopia $ . set-env $ cd hello $ ./hello qws,6实验步骤,或者在终端,启动虚拟缓冲区和QPE,启动Qtopia的终端,输入./hello运行程序,亦可得到和图 6.1一样的结果。 $ cd /sbc2410/x86-qtopia $ . set-env $ cd hello $ qvfb& $ qpe,6实验步骤,Hello程序运行结果,7实验结果,(1)如果在PC中运行hello程序,出现某些库找不到,该如何处理?提示:将所缺的库从/sb

5、c2410/x86-qtopia/qt/lib目录下复制到主机系统/usr/lib目录下即可。(2)在ARM上运行时如果也出现类似问题,又该如何解决?提示:将所缺的库从/sbc2410/arm-qtopia/qt/lib目录下复制到目标系统/usr/lib目录下即可。(3)setGeometry(10, 10)在显示器的什么位置?,8思考题,1实验目的 (1) 巩固Qt/e编程的基本方法; (2) 掌握Qt/e中按钮的基本使用方法。 (3) 掌握Qt/e中字体的基本设置方法。,按钮实验,硬件:PC机 1台软件: RedHat Linux 9.0操作系统嵌入式Linux开发环境嵌入式Linux开

6、发环境(含Qt/e和Qtopia),2实验设备,创建一个窗口,添加一个按钮,并在按钮上显示字符串“Hello, Button!”。,3实验内容,(1) 熟悉基于PC的Qt和Qtopia模拟环境; (2) 预习C+程序编写方法; (3) 预习Qt的帮助手册,了解Qt按钮和字体相关部分。,4实验预习要求,按钮是设计图形界面的基本组件,Qt中为按钮提供了一系列的API函数,调用基本API函数,可以轻松进行设计。调用按钮的API函数,必须包含按钮的头文件qbutton.h。字体在图形界面设计中有着非常重要的作用,一个图形界面,字体搭配得当,可以增加整个界面的美感,让人赏心悦目。Qt中有很多字体可以选择

7、,如果不想使用系统默认的字体,编程人员可以自行指定,只需调用相关的API函数即可。使用字体相关的API函数,必须包含头文件qfont.h。,5实验原理,(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后创建文件夹button。 $ cd /sbc2410/x86-qtopia $ . set-env $ mkdir button(2)进入button目录,新建文件button.cpp,并编写程序,然后用progen工具生成工程文件button.pro。 $ cd button $ vi button.cpp $ progen t app.t o b

8、utton.pro,6实验步骤,(3)使用tmake工具生成Makefile文件,并进行修改,编译程序,得到可执行文件button。 $ tmake o Makefile button.pro $ make(4)启动虚拟控制台,运行button程序。 $ ./button -qws,6实验步骤,按钮实验结果,7实验结果,单选按钮和多选按钮如何使用?,8思考题,1实验目的 (1) 巩固Qt/e中按钮的基本使用方法。 (2) 掌握Qt/e中对象间通信的信号和插槽机制。,Qt信号和插槽实验,硬件:PC机 1台软件: RedHat Linux 9.0操作系统嵌入式Linux开发环境嵌入式Linux开发

9、环境(含Qt/e和Qtopia),2实验设备,创建一个窗口,添加一个按钮,并在按钮上显示“Quit”,点击按钮,程序退出。,3实验内容,(1) 熟悉基于PC的Qt和Qtopia模拟环境; (2) 预习C+程序编写方法; (3) 预习Qt的帮助手册,特别注意信号和插槽相关部分。,4实验预习要求,Signal和Slot是Qt中一种用于对象间通信的调用机制,不同于传统的函数回调方式。信号和插槽是Qt中非常有特色的地方,可以说是Qt编程区别于其它编程的标志。信号和插槽不是标准C+功能,需要特殊的语句才能创建信号和插槽,但是C+编译器不能理解这些语句。必须经过特殊的工具对象编辑器MOC(Meta Obj

10、ect Compiler)将源代码中创建信号和插槽的语句翻译成C+编译器能够理解的代码。,5实验原理,(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后创建文件夹signalslot。 $ cd /sbc2410/x86-qtopia $ mkdir signalslot(2)进入signalslot目录,建立文件signalslot.cpp,并编写程序,然后用progen命令生成工程文件signalslot.pro。 $ cd signalslot $ vi signalslot.cpp $ progen t app.t o signalslot

11、.pro,6实验步骤,(3)使用tmake工具,生成signalslot工程的Makefile文件,并按照6.1小节进行修改,然后编译,得到可执行文件signalslot。 $ tmake o Makefile signalslot.pro(4)启动虚拟控制台,运行signalslot程序,点击“Quit”按钮,程序将退出。 $ ./signalslot -qws,6实验步骤,信号和插槽实验结果,7实验结果,(1)信号和插槽机制和普通的函数指针回调有何区别?使用信号和插槽有何利弊? (2)如何断开信号和插槽的连接? (3)可否将一个信号连接到多个插槽? (4)信号和信号可以连接吗?,8思考题,

12、1实验目的 (1)掌握Qt/e中对话框的基本使用方法。 (2)巩固Qt/e中对象间通信的信号和插槽机制。,按钮实验,硬件:PC机 1台软件: RedHat Linux 9.0操作系统嵌入式Linux开发环境嵌入式Linux开发环境(含Qt/e和Qtopia),2实验设备,创建一个窗口,添加一个按钮,点击按钮,弹出一个对话框。,3实验内容,(1) 熟悉基于PC的Qt和Qtopia模拟环境; (2) 预习C+程序编写方法; (3) 预习Qt的帮助手册,特别注意对话框以及信号和插槽相关部分。,4实验预习要求,一个友好的图形界面,一般都会有对话框,用于人机交互。Qt中有很多类型的对话框,如颜色对话框、

13、字体对话框、文件对话框、输入对话框和消息对话框等。不同对话框都有一系列的API函数,调用这些函数必须包含头文件qdialog.h。,5实验原理,(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后创建文件夹dialog.。 $ cd /sbc2410/x86-qtopia $ mkdir dialog(2)进入dialog目录,建立文件userdialog.h和userdialog.cpp,并编写程序,然后用progen工具生成工程文件userdialog.pro。 $ cd dialog $ vi userdialog.h $ vi userdia

14、log.cpp $ progen t app.t o userdialog.pro,6实验步骤,(3)使用tmake工具生成userdialog工程的Makefile文件,并进行修改,编译生成可执行文件userdialog。 $ tmake o Makefile userdialog.pro $ make(4)启动虚拟控制台,运行userdialog程序,点击POPUP按钮,将会弹出一个新的对话框,点击对话框的POPDOWN按钮,新对话框将关闭。 $ ./userdialog -qws,6实验步骤,对话框实验结果,7实验结果,实验没有用到的其它对话框如何使用?请用程序实现。,8思考题,1实验目

15、的掌握Qt/e中布局的应用。,Qt布局实验,硬件:PC机 1台软件: RedHat Linux 9.0操作系统嵌入式Linux开发环境嵌入式Linux开发环境(含Qt/e和Qtopia),2实验设备,设计4个按钮和一个标签,按一定规则进行布局。,3实验内容,(1) 熟悉基于PC的Qt和Qtopia模拟环境; (2) 预习C+程序编写方法; (3) 预习Qt的帮助手册,特别注意Qt布局相关部分。,4实验预习要求,一个用户图形界面,布局也是至关重要,合理的布局能增加界面的美感,亦能够提高软件的易用性。图形界面编程,一般包括基本组件、组件的布局以及组件的回调。Qt中有很多种布局,最基本的就是QLay

16、out(包括QBoxLayout:QHBoxLayout,QVBoxLayout)和QGridLayout。使用了布局相关API函数的应用程序,需要包含头文件qlayout.h。,5实验原理,(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后创建文件夹layout。 $ cd /sbc2410/x86-qtopia $ . set-env $ mkdir layout(2)进入layout目录,建立文件layout.cpp,并编写程序,然后用progen工具生成工程文件layout.pro。 $ cd layout $ vi layout.cpp

17、$ progen t app.t o layout.pro,6实验步骤,(3)使用tmake工具,生成layout工程的Makefile文件,并进行修改,编译,得到可执行文件layout。 $ tmake o Makefile layout.pro(4)启动虚拟控制台,运行layout程序。 $ ./layout -qws,6实验步骤,Qt布局实验结果,7实验结果,QLayout和QGridLayout有何区别?该如何使用?,8思考题,1实验目的 (1) 掌握Qt/e中进度条的基本设计方法。 (2) 巩固Qt/e中布局的应用。 (3) 进一步巩固Qt/e中信号和插槽的使用。,进度条实验,硬件:

18、PC机 1台软件: RedHat Linux 9.0操作系统嵌入式Linux开发环境嵌入式Linux开发环境(含Qt/e和Qtopia),2实验设备,设计一个进度条,可以暂停、继续和重置等操作。,3实验内容,(1) 熟悉基于PC的Qt和Qtopia模拟环境; (2) 预习C+程序编写方法; (3) 预习Qt的帮助手册,特别注意进度条以及信号和插槽相关部分。,4实验预习要求,进度条在图形界面中也是非常重要,如果一个应用程序执行需要的时间很长,那么,用进度条来指示程序运行的进度是非常人性的做法,如软件安装通常都有进度条,复制、移动等操作也有进度条。进度条通常都是水平的,按百分比显示进度。使用进度条

19、的应用程序需要包含头文件qprogressbar.h。,5实验原理,(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后建立文件夹progressbar。 $ cd /sbc2410/x86-qtopia $ . set-env $ mkdir progressbar(2)进入progressbar目录,建立文件progressbar.h和progressbar.cpp文件,编写程序,然后用progen工具生成工程文件progressbar.pro。 $ cd progressbar $ vi progressbar.h $ vi progressb

20、ar.cpp $ progen t app.t o progressbar.pro,6实验步骤,(3)使用tmake工具生成progressbar工程的Makefile文件,并进行修改,然后编译,生成可执行文件progressbar。 $ tmake o Makefile progressbar.pro(4)启动虚拟控制台,运行progressbar程序,点击按钮可以对进度条进行控制。 $ ./progressbar -qws,6实验步骤,进度条实验结果,7实验结果,进度条有哪些属性,具体该如何使用?,8思考题,1实验目的 (1)掌握Qt/e中的文本输入方法。 (2)巩固Qt/e中布局的应用。

21、,文本输入实验,硬件:PC机 1台软件: RedHat Linux 9.0操作系统嵌入式Linux开发环境嵌入式Linux开发环境(含Qt/e和Qtopia),2实验设备,以多种方式进行文本输入。,3实验内容,(1) 熟悉基于PC的Qt和Qtopia模拟环境; (2) 预习C+程序编写方法; (3) 预习Qt的帮助手册,特别注意文本输入相关部分。,4实验预习要求,在很多应用中,都需要用户输入一些信息。在Qt中,有多种方式可用于信息编辑和输入:单行输入的输入条和多行编辑区。输入条可以设置回显模式、只读等属性,多行编辑区可以设置折行和只读等属性。使用输入条需要包含头文件qlineedit.h,使用

22、多行编辑区需要包含头文件qmultilineedit.h。,5实验原理,(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后建立文件夹textedit。 $ cd /sbc2410/x86-qtopia $ . set-env $ mkdir textedit(2)进入textedit目录,建立文件edit.cpp,并编写代码,然后使用progen工具生成工程文件edit.pro。 $ cd textedit $ vi edit.cpp $ progen t app.t o edit.pro,6实验步骤,(3)使用tmake工具,生成edit工程的M

23、akefile文件,并按照6.1小节进行修改,编译,得到可执行文件edit。 $ tmake o Makefile edit.pro $ make(4)启动虚拟控制台,运行edit程序,在得到界面即可进行文本输入。 $ ./edit -qws,6实验步骤,文本输入实验结果,7实验结果,输入条和多行编辑区的其它属性如何使用?请编程。,8思考题,1实验目的 (1) 掌握Qt/e中菜单的使用; (2) 熟悉Qt/e中信号和插槽的应用; (3) 掌握Qt/e中字体的设置方法。,菜单实验,硬件:PC机 1台软件: RedHat Linux 9.0操作系统嵌入式Linux开发环境嵌入式Linux开发环境(

24、含Qt/e和Qtopia),2实验设备,创建一个窗口,添加两个下拉菜单。,3实验内容,(1) 熟悉基于PC的Qt和Qtopia模拟环境; (2) 预习C+程序编写方法; (3) 预习Qt的帮助手册,了解Qt菜单、字体、信号及插槽相关部分。,4实验预习要求,在图形界面中,菜单是再常用不过的部件了。菜单包括菜单条和弹出菜单(下拉菜单)两种。菜单条通常位于窗口的上方,使用下拉菜单,用于存放不同分类的菜单,使用菜单条需要包含头文件qmenubar.h;弹出菜单里面包含了不同的菜单项,使用弹出菜单需要包含头文件qpopupmenu.h。在菜单中,我们经常会使用快捷键,如常用的保存文件(Ctrl+S),在

25、Qt中,也可以设置快捷键,在相应字母之前用&标记即可进行标注。,5实验原理,(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后创建文件夹menu。 $ cd /sbc2410/x86-qtopia $ . set-env $ mkdir menu(2)进入menu目录,新建文件menu.h和menu.cpp,并编写程序,然后用progen命令生成工程文件menu.pro。 $ cd menu $ vi menu.h $ vi menu.cpp $ progen t app.t o menu.pro,6实验步骤,(3)使用tmake工具生成Makef

26、ile文件,并按照6.1小节进行修改,编译程序,得到可执行文件menu。 $ tmake o Makefile menu.pro $ make(4)启动虚拟控制台,运行menu程序。 $ ./menu -qws,6实验步骤,菜单实验结果,7实验结果,(1)阅读Qt帮助手册,仔细区分菜单条和弹出菜单的区别以及应用。 (2)如何设置菜单的快捷键? (3)菜单(项)的其它操作如删除、激活和禁止等该如何使用? (4)如何为菜单增加状态条? (5)如何在菜单栏(条)添加图标?,8思考题,1实验目的熟悉Qt/e中的绘图。,Qt绘图实验,硬件:PC机 1台软件: RedHat Linux 9.0操作系统嵌入

27、式Linux开发环境嵌入式Linux开发环境(含Qt/e和Qtopia),2实验设备,创建一个窗口,在窗口进行画图,如直线、矩形和椭圆等。,3实验内容,(1) 熟悉基于PC的Qt和Qtopia模拟环境; (2) 预习C+程序编写方法; (3) 预习Qt的帮助手册,了解Qt画图相关部分。,4实验预习要求,在图形界面编程中,用户可能需要绘制一些有特殊意义的图形。Qt中提供了QPainter、QPen和QBrush等机制用于绘图,有非常灵活的API函数用于画图,如画点、画线、画矩形、椭圆和扇形等,使用这些API函数需要包含头文件qpainter.h和qbrush.h等。,5实验原理,(1)进入/sb

28、c2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后创建文件夹draw。 $ cd /sbc2410/x86-qtopia $ . set-env $ mkdir draw(2)进入draw目录,建立文件draw.cpp,并编写程序,然后使用progen工具生成工程文件draw.pro。 $ cd draw $ vi draw.cpp $ progen t app.t o draw.pro,6实验步骤,(3)使用tmake工具,生成draw工程的Makefile文件,并进行修改,编译,得到可执行文件draw。 $ tmake o Makefile draw.pro

29、$ make(4)启动虚拟控制台,运行draw程序。 $ ./draw -qws,6实验步骤,Qt绘图实验结果,7实验结果,(1)如果需要绘制Qt没有可直接使用的API函数的图形,该如何进行绘制? (2)示例中各绘制图形的各参数是什么意义? (3)怎样使用Qt绘图API绘制文本?,8思考题,1实验目的掌握往Qtopia中安装应用程序的方法。,往Qtopia中安装应用程序,硬件:PC机 1台软件: RedHat Linux 9.0操作系统嵌入式Linux开发环境嵌入式Linux开发环境(含Qt/e和Qtopia),2实验设备,选择以往任何一个能够成功运行的应用程序,安装到Qtopia中。,3实验

30、内容,(1) 熟悉基于PC的Qt和Qtopia模拟环境; (2) 预习Qtopia的帮助手册,了解程序添加相关部分。,4实验预习要求,Qtopia是基于Qt的一个桌面程序,往其中安装应用程序需要一个桌面文件,以及相应的可执行文件。,5实验原理,以上一个实验为例进行介绍。 (1)进入/sbc2410/x86-qtopia/i18n目录,建立该程序的桌面文件menu.desktop,并将该文件复制到Qtopia安装目录的apps/Applications目录下。 $ cd /sbc2410/x86-qtopia/i18n $ vi menu.desktop $ cp menu.desktop /q

31、topia/apps/Applications桌面文件有固定的格式,可以参考Qtopia中原有菜单桌面文件。Desktop Entry Comment=A Qtopia Demo Exec=menu_i18n -cn Icon=menu Type=Application Name=Menu,6实验步骤,(2)将menu_i18n文件和翻译文件menu_i18n_cn.qm复制到/sbc2410/x86-qtopia/qtopia/bin目录下。 $ cp menu_i18n /qtopia/bin $ cp menu_i18n_cn.qm /qtopia/bin(3)在虚拟帧缓冲中运行Qtopia,在Qtopia中将会看到Menu图标,点击Menu图标,程序将会运行。 $ cd /sbc2410/x86-qtopia $ . set-env $ qvfb width 640 height 480& $ qpe,6实验步骤,往Qtopia中安装应用程序,7实验结果,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 开发文档

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报