[Q学习]14 Qt状态机框架——进入和退出状态3
2016-06-23 19:08
706 查看
3 重载onEntry和onExit
如果我们要自定义一个状态的话,除了设置属性和信号槽之外,我们还可以通过重载接口实现进入和退出时执行一些操作。
一般我们自定义状态类继承QState,QState继承自QAbstractState,QabstractState有两个纯虚函数(接口):
virtual void onEntry(QEvent *event) = 0
virtual void onExit(QEvent *event) = 0
我们重载上述两个接口就可以该状态进入和退出时做操作了,看下面的代码:
声明:
实现:
如果我们要自定义一个状态的话,除了设置属性和信号槽之外,我们还可以通过重载接口实现进入和退出时执行一些操作。
一般我们自定义状态类继承QState,QState继承自QAbstractState,QabstractState有两个纯虚函数(接口):
virtual void onEntry(QEvent *event) = 0
virtual void onExit(QEvent *event) = 0
我们重载上述两个接口就可以该状态进入和退出时做操作了,看下面的代码:
声明:
#ifndef CMYSTATE_H #define CMYSTATE_H #include <QState> class CMyState : public QState { public: CMyState(); protected: virtual void onEntry(QEvent *event); virtual void onExit(QEvent *event); }; #endif // CMYSTATE_H
实现:
#include "mystate.h" #include <QDebug> CMyState::CMyState() { } void CMyState::onEntry(QEvent *event) { qDebug() << "Enter CMyState"; } void CMyState::onExit(QEvent *event) { qDebug() << "Exit CMyState"; }
相关文章推荐
- QT学习 第一章:基本对话框
- 使用Shiboken为C++和Qt库创建Python绑定
- Qt 5.6更新至RC版,最终版本近在咫尺
- Qt定时器和随机数详解
- Qt实现图片移动实例(图文教程)
- Qt for Android开发实例教程
- QModelIndex/Role/Model介紹<二>
- Qt Model/View/Delegate浅谈 - QAbstractListModel
- Qt Model/View/Delegate浅谈 - roleNames()
- QT历程(一):与CryptoJs对应的AES加密
- 基于PyQt5的快速开发框架QFramer
- OSX下安装PyQt
- ok6410开发板移植DirectFB手记
- 【笔记】给Qt内嵌一个Chrome吧
- 【算法】最短路径之A*搜索
- qt入门必备
- 在 Qt4 中使用 C++11
- Hello Word ~ v0.2.2 背单词软件发布 -- By WHYPRO
- ubuntu下opencv和qt的安装配置
- linux下opengl的安装(with qt)