- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 [Q学习]14 Qt状态机框架——进入和退出状态3
3 重载onEntry和onExit如果我们要自定义一个状态的话,除了设置属性和信号槽之外,我们还可以通过重载接口实现进入和退出时执行一些操作。一般我们自定义状态类继承QState,QState继承自QAbstractState,QabstractState有两个纯虚函数(接口):virtual void onEntry(QEvent *event) = 0virtual void
2016-06-23 19:08:31 1048
原创 [Q学习]14 Qt状态机框架——进入和退出状态2
2 关联信号槽Qt状态机有这样一个特性:进入某个状态时会触发QState::entered()信号,离开状态时触发QState::exited()信号,如此,我们使用槽函数关联这两个信号就可以做一些额外的操作了。还是之前的代码,增加两个槽函数,输出字符串:声明如下:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #inclu
2016-06-23 19:06:25 1029
原创 [Qt学习]14 Qt状态机框架——进入和退出状态
原创文章,可以转载,转载时请以超链接形式保留本文地址、作者信息和本声明。否则将追究法律责任。在上一节中,我们实现了具有三个状态的状态机,但是这个状态机仅仅是声明了三个状态,定义了状态迁移,没有就进一步完成其他动作。如何在改变状态时做一些操作呢?1 设置属性值假设有这样一种场景,在进入某一个状态时在按钮标签上显示处当前状态标识。对于这样的功能,我们可以通过这个接口来实现:void Q
2016-06-23 19:04:17 1950
原创 [Q学习]13 Qt状态机框架——简单的状态机
原创文章,可以转载,转载时请以超链接形式保留本文地址、作者信息和本声明。否则将追究法律责任。状态机是面向对象中不可缺少的一部分,它可以用于描述对象(系统)如何响应对外部输入。状态机首先状态机定了对象(系统)能够到达的状态,然后定义状态迁移,即如何从一个状态转变到另一个状态。Qt中的状态机紧密地集成了Qt元对象系统,比如状态迁移可以通过信号触发,用户可以设置状态来设施QObject的属性,调用Q
2016-06-21 11:32:55 1125
原创 [Q学习]12 Qt事件系统——发送事件
原创文章,可以转载,转载时请以超链接形式保留本文地址、作者信息和本声明。否则将追究法律责任。前几节说了投递事件、处理事件和过滤事件,本节主要说说发送事件,没有发送事件,前面几节说的内容就没用了。Qt中,发送事件仅有两个接口:1 QCoreApplication::sendEvent()2 QCoreApplication::postEvent()sendEvent:立即发送事件
2016-06-20 17:31:00 788
原创 [Q学习]11 Qt事件系统——过滤事件
原创文章,可以转载,转载时请以超链接形式保留本文地址、作者信息和本声明。否则将追究法律责任。我们可能会遇到这样一种需求——监测某个对象的事件投递过程,分析或者拦截某个事件,这时我们就要用到事件过滤器了。什么是事件过滤器呢?事件过滤器本质上是QObject子类的一个对象,该对象重载了eventFilter接口。如果使用事件过滤器呢?1 定义QObject子类A,重载eventFilter
2016-06-19 08:57:35 487
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人