《Qt信号和插槽.ppt》由会员分享,可在线阅读,更多相关《Qt信号和插槽.ppt(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1实验目的(1)(1)巩固巩固巩固巩固Qt/eQt/e中按钮的基本使用方法。中按钮的基本使用方法。中按钮的基本使用方法。中按钮的基本使用方法。(2)(2)掌握掌握掌握掌握Qt/eQt/e中对象间通信的信号和插槽机制。中对象间通信的信号和插槽机制。中对象间通信的信号和插槽机制。中对象间通信的信号和插槽机制。Qt信号和插槽实验信号和插槽实验 l 硬件:硬件:硬件:硬件:PCPC机机机机1 1台台台台 l 软件:软件:软件:软件:RedHatRedHat Linux 9.0 Linux 9.0操作系统操作系统操作系统操作系统 嵌入式嵌入式嵌入式嵌入式LinuxLinux开发环境开发环境开发环境开发环
2、境嵌入式嵌入式嵌入式嵌入式LinuxLinux开发环境开发环境开发环境开发环境(含含含含Qt/eQt/e和和和和QtopiaQtopia)2实验设备创创创创建建建建一一一一个个个个窗窗窗窗口口口口,添添添添加加加加一一一一个个个个按按按按钮钮钮钮,并并并并在在在在按按按按钮钮钮钮上上上上显显显显示示示示“Quit”Quit”,点击按钮,程序退出。,点击按钮,程序退出。,点击按钮,程序退出。,点击按钮,程序退出。3实验内容(1)(1)熟悉基于熟悉基于熟悉基于熟悉基于PCPC的的的的QtQt和和和和QtopiaQtopia模拟环境;模拟环境;模拟环境;模拟环境;(2)(2)预习预习预习预习C+C+
3、程序编写方法;程序编写方法;程序编写方法;程序编写方法;(3)(3)预习预习预习预习QtQt的帮助手册,特别注意信号和插槽相关部分。的帮助手册,特别注意信号和插槽相关部分。的帮助手册,特别注意信号和插槽相关部分。的帮助手册,特别注意信号和插槽相关部分。4实验预习要求 Signal和Slot是Qt中一种用于对象间通信的调用机制,不同于传统的函数回调方式。信号和插槽是Qt中非常有特色的地方,可以说是Qt编程区别于其它编程的标志。信号和插槽不是标准C+功能,需要特殊的语句才能创建信号和插槽,但是C+编译器不能理解这些语句。必须经过特殊的工具对象编辑器MOC(Meta Object Compiler)
4、将源代码中创建信号和插槽的语句翻译成C+编译器能够理解的代码。5实验原理(1 1)进入)进入)进入)进入/sbc2410/x86-qtopia/sbc2410/x86-qtopia目录,运行目录,运行目录,运行目录,运行set-set-envenv脚本,设置环境脚本,设置环境脚本,设置环境脚本,设置环境变量,然后创建文件夹变量,然后创建文件夹变量,然后创建文件夹变量,然后创建文件夹signalslotsignalslot。$cdcd/sbc2410/x86-qtopia/sbc2410/x86-qtopia$mkdirmkdir signalslotsignalslot(2 2)进入)进入)进
5、入)进入signalslotsignalslot目录,建立文件目录,建立文件目录,建立文件目录,建立文件signalslot.cppsignalslot.cpp,并编写程序,并编写程序,并编写程序,并编写程序,然后用然后用然后用然后用progenprogen命令生成工程文件命令生成工程文件命令生成工程文件命令生成工程文件signalslot.prosignalslot.pro。$cdcd signalslotsignalslot$vi$vi signalslot.cppsignalslot.cpp$progenprogen t t app.tapp.t o o signalslot.prosi
6、gnalslot.pro6实验步骤(3 3)使用)使用)使用)使用tmaketmake工具,生成工具,生成工具,生成工具,生成signalslotsignalslot工程的工程的工程的工程的MakefileMakefile文件,并按文件,并按文件,并按文件,并按照照照照6.16.1小节进行修改,然后编译,得到可执行文件小节进行修改,然后编译,得到可执行文件小节进行修改,然后编译,得到可执行文件小节进行修改,然后编译,得到可执行文件signalslotsignalslot。$tmaketmake o o MakefileMakefile signalslot.prosignalslot.pro(
7、4 4)启动虚拟控制台,运行)启动虚拟控制台,运行)启动虚拟控制台,运行)启动虚拟控制台,运行signalslotsignalslot程序,点击程序,点击程序,点击程序,点击“Quit”Quit”按钮,按钮,按钮,按钮,程序将退出。程序将退出。程序将退出。程序将退出。$./$./signalslotsignalslot-qwsqws6实验步骤信号和插槽实验结果信号和插槽实验结果信号和插槽实验结果信号和插槽实验结果7实验结果(1)(1)信号和插槽机制和普通的函数指针回调有何区别?信号和插槽机制和普通的函数指针回调有何区别?信号和插槽机制和普通的函数指针回调有何区别?信号和插槽机制和普通的函数指针回调有何区别?使用信号和插槽有何利弊?使用信号和插槽有何利弊?使用信号和插槽有何利弊?使用信号和插槽有何利弊?(2)(2)如何断开信号和插槽的连接?如何断开信号和插槽的连接?如何断开信号和插槽的连接?如何断开信号和插槽的连接?(3)(3)可否将一个信号连接到多个插槽?可否将一个信号连接到多个插槽?可否将一个信号连接到多个插槽?可否将一个信号连接到多个插槽?(4)(4)信号和信号可以连接吗?信号和信号可以连接吗?信号和信号可以连接吗?信号和信号可以连接吗?8思考题
限制150内