qtday02-qt信号和槽day02机制_第1页
qtday02-qt信号和槽day02机制_第2页
qtday02-qt信号和槽day02机制_第3页
qtday02-qt信号和槽day02机制_第4页
qtday02-qt信号和槽day02机制_第5页
免费预览已结束,剩余18页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、QT特训班第二讲:信号槽机制2018主讲老师:樱桃老师 CONTENTS信号槽机制概念overview01信号和槽定义history02信号和槽的连接install03信号和槽连接语法要求correlative microscopy0405信号和槽函数的使用 第一部分信号槽机制概念2018信号槽机制概念 overview信号和槽是QT自行定义的通信机制,实现不同对象之间的数据交互。信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方。信号槽机制概念overvie

2、w信号当用户或系统触发了一个动作,导致某个窗口部件的状态发生了改变,该部件就会发射一个信号,即调用其类中一个特定的成员函数,同时还可能携带有必要的参数槽槽几乎就是一个普通的类成员函数-可以是公有的、保护的或私有的,可以被重载,也可以被覆盖,其参数可以是任意类型,并可以在其它函数中被调用第二部分信号和槽定义2018创建信号Create Signals那么,我们如何创建一个信号呢?使用emit发送信号:signals:向类定义中加入信号的原型:使用发送语句来调用所有监听这个信号的方法。这一步使用的语法和用来调用一个局部方法的语法是一样的,只不过这时用emit关键字开头:QString name;e

3、mit newName(name);void newName(QString &name);在类定义的第一行加入Q_OBJECT宏创建槽函数 Create Slot Function那么,我们如何创建一个槽函数呢?public slots:向类定义中加入槽函数的原型与信号一样,槽需要在类定义的上部加入Q_OBJECT宏:包含定义了将要发送信号的类的头文件。void nameChanged(QString &name);第三部分信号和槽的连接2018信号和槽的连接概念把槽和信号连接起来。这个工作通常在构造函数中完成,但是如果这个对象构造得比较晚,那么连接工作也可以晚点做。调用connect()方

4、法把你的槽加入到方法列表中,每当指定的信号发出的时候,这个方法就会被调用。信号和槽的连接必须是Qobject的或者Qobject(Qwidget)的子类派生类才能有信号和槽.通过调用 QObject 对象的 connect 函数来将某个对象的信号与另外一个对象的槽函数相关联,这样当发射者发射信号时,接收者的槽函数将被调用调用connect()方法可以按照以下的方式调用connect()方法:connect(const QObject * sender, /信号发送对象 const char * signal, /信号函数签名 const QObject * receiver, /信号接收对象

5、const char * method);/槽函数签名其中信号函数和槽函数的签名需要借助两个预定义宏SIGNAL() -将信号函数签名表示成字符串SLOT() -将槽函数的签名表示成字符串信号和槽注意事项信号和槽是qt的最重要的机制,可以把不相干的对象绑定 如果需要使用信号和槽机制,必须声明 Q_OBJECT 定义信号 signals:定义槽:public slots:信号和槽注意事项取消关联:disconnect断开与某个对象相关联的任何对象。这似乎有点不可理解,事实上,当我们在某个对象中定义了一个或者多个信号,这些信号与另外若干个对象中的槽相关联,如果我们要切断这些关联的话,就可以利用这个

6、方法,非常之简洁第四部分信号和槽连接语法要求2018PPT模板下载: 行业PPT模板: 节日PPT模板: PPT素材下载: PPT背景图片: PPT图表下载: 优秀PPT下载: PPT教程: Word教程: Excel教程: 资料下载: PPT课件下载: 范文下载: 试卷下载: 教案下载: 字体下载: 信号和槽连接语法要求Syntax requirements语法要求一个信号可以被连接到多个槽函数(1对多)多个信号可以被连接到同一个槽函数(多对1)两个信号可以直接连接(信号级联)PPT模板下载: 行业PPT模板: 节日PPT模板: PPT素材下载: PPT背景图片: PPT图表下载: 优秀PP

7、T下载: PPT教程: Word教程: Excel教程: 资料下载: PPT课件下载: 范文下载: 试卷下载: 教案下载: 字体下载: 信号和槽连接语法要求Syntax requirements语法要求信号和槽参数要一致可以带有缺省参数信号函数的参数可以比槽函数多,多余的将被忽略信号和槽机制的优点merit 类型安全type safety松散耦合 loose coupling第五部分信号和槽函数的使用 2018信号和槽函数的使用use必须小心不要创建死循环。 还需要小心槽和信号方法在连接语句中的参数是否匹配。信号与槽机制的效率workpiece ratio效率需要定位接收信息的对象安全地遍历所有的关联编组(marshal)/解组(unmarshal)传递的参数多线程的时候,信号可能需要排队等待QT5元对象系统meta object system010203基类QObject任何

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论