QT图形用户界面课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《QT图形用户界面课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QT 图形 用户界面 课件
- 资源描述:
-
1、图形用户界面图形用户界面QT 第四章第四章本章计划本章计划v 可视对象的返回值和数据v 鼠标,键盘,定时器等事件的捕捉v 一些事件的虚函数重载,信号从基类转发v 掌握QDialog,QTimer,QTimev 掌握QSettings,QSqlDatabasev 了解Qt NetWorkv 掌握QGraphicsView,QGraphicsScene v 掌握QGraphicsItem,QPixmap计算器里的关于窗口计算器里的关于窗口v上面有2个按钮,确定和取消,QMainWindow怎么知道你按了哪一个呢?首先,那个是一个按钮组buttonBox,是QDialog组件里就关联好信号的。在 信
2、号和槽编辑器里能看的到。我们可以看看QDialog的槽accept()和rejecct()起什么作用,看HELP文档可视对象的返回值和数据可视对象的返回值和数据QDialog的槽的槽accept()和和rejecct()HELP文档里是这么解释的,看懂了吗?文档里是这么解释的,看懂了吗?void QDialog:accept()virtual slotHides the modal dialog and sets the result code to Accepted.void QDialog:reject()virtual slotHides the modal dialog and set
3、s the result code to Rejected.void QDialog:accepted()signalThis signal is emitted when the dialog has been accepted either by the user or by calling accept()or done()with the QDialog:Accepted argument.QDialog的返回值的返回值跟据跟据HELP文档,我们可以这样写代码文档,我们可以这样写代码鼠标,键盘,定时器等事件的捕捉鼠标,键盘,定时器等事件的捕捉v事件在Qt里分很多种,比如鼠标,键盘,定时
4、器,窗体扩大缩小,有鼠标飘过,有数值变化等等,任何一个小动作,在GUI里都会触发某种事件。当事件产生时,怎么来进行处理呢?v跟据C+的语言特性,虚函数重载可以解决这个问题,所有可以处理的事件,一定都是虚函数。v现在我们来做一个close事件处理。close事件的捕捉事件的捕捉还记得第一个例子吗,一个按钮一按就关闭窗口了。当然按右上角的X,也可以关闭,但有的窗口按了右上角的X会跳出一个框来。这个是通过重载 关闭事件而处理出的一个框,怎么做呢?QMainWindow的的close事件在哪?事件在哪?v刚刚讲过,所有能处理的事件,一定是虚函数,那虚函数去哪找?去protected里找。v现在我们要关
5、闭的是QMainWindow,并且要它跳出那个框出来,怎么找相应事件呢?来查下HELP文档 QMainWindow的的close事件在哪?事件在哪?v点不出来吧?为啥?因为QMainWindow没有,那怎么查?去找它的基类,它一定是从基类里继承了所有的事件。v点进Qwidget这个基类以后,再点Protected FuntionsQMainWindow的的close事件在哪?事件在哪?找到找到close事件了事件了点进看去说明和例子点进看去说明和例子By default,the event is accepted and the widget is closed.You can reimple
6、ment this function to change the way the widget responds to window close requests.For example,you can prevent the window from closing by calling ignore()on all events.你看不懂可以复制查你看不懂可以复制查google百度有道翻译就对了。百度有道翻译就对了。要还在发呆,就是你的不对了。要还在发呆,就是你的不对了。重载基类的虚函数的代码怎么写重载基类的虚函数的代码怎么写1.想想C+语法,派生类怎么去重载基类的虚函数把声明抄过来.cpp
7、的重载代码怎么写?的重载代码怎么写?C语言就强调了,用谁的东西,就include谁的头文件一按X就重载了close事件,在这里我们用QMessageBox速生成了一个小框,然后取它的返回值看你按了什么键,如果按的取消,据据QMainWindow的HELP文档用ignore()接口忽略close事件中文显示的处理中文显示的处理#include int main(int argc,char*argv)QApplication a(argc,argv);QTextCodec*codec=QTextCodec:codecForName(GB2312);QTextCodec:setCodecForLoc
8、ale(codec);QTextCodec:setCodecForCStrings(codec);QTextCodec:setCodecForTr(codec);MainWindow w;w.show();return a.exec();一个窗口有多少种事件可以处理呢?一个窗口有多少种事件可以处理呢?v看看HELP文档里的protected里有多少种事件v一定要学会查HELP文档,查google翻译v现在我们小试了中间的一个close事件,其它的事件后续会有介绍,来做一个定时器来做一个定时器我们需要用到QTimer这个类,查HELP文档 QTimer是个什么类,查接口,信号,槽,和例子QTim
9、er定时器定时器你可以先从Detailed Description示例开始看QTimer*timer=new QTimer(this);connect(timer,SIGNAL(timeout(),this,SLOT(update();timer-start(1000);看到这个例子代码,基本知道怎么用这个定时器了看到这个例子代码,基本知道怎么用这个定时器了1.定时器对象需要生成;定时器对象需要生成;2.定时器用定时器用start()启动,有启动,有2个重载,带形参的是毫秒间隙时间;个重载,带形参的是毫秒间隙时间;3.定时器启动以后,每隔间隙时间发来一个定时器启动以后,每隔间隙时间发来一个ti
10、meout()信号信号,你可你可以去连接一个你的槽来处理。以去连接一个你的槽来处理。练习练习 做定时器做定时器要求:1.按start就开始一秒一秒的计时2.按pause就暂停显示,但背地里还在计时,再按pause就显示实际的时间3.按stop就停,再按一次就清零4.按X退出时,要有对话框5.有帮助-关于 QDialog,上面写上 XXX 几几年几几月几日制做,版本V0.1对对Qt的几点总结和感悟的几点总结和感悟做了一些GUI程序以后,我们总结一下Qt只是提供一些GUI的显示,和一些功能类,对象与对象,对象与GUI的逻辑关联,和Qt没有关系Qt提供数据传输和通道方案逻辑关系完全是由C结构实现Qt
11、对象有什么功能,怎么和其它对象连接,要多查HELP文档你体会出来了吗?Qt GUI巩固练习巩固练习 电子钟电子钟v 做一个电子钟,做一个电子钟,24小时制显示小时制显示 时时:分分:钞钞v 时分钞中的时分钞中的 :需要一秒一闪需要一秒一闪v 当按日期按钮时,需要变成日期显示当按日期按钮时,需要变成日期显示v 日期格式日期格式 年年-月月-日日v 日期显示完日期显示完5秒后,又变回时间显示秒后,又变回时间显示v 查查HELP里里QTime时间类的使用时间类的使用,v 显示用显示用QLCDnumber类类v 注意逻辑是注意逻辑是C语法才能实现语法才能实现Qt 的一些其它类的一些其它类 QGraph
展开阅读全文