Qt笔记_14
来源:互联网 发布:迅游网络加速器手机版 编辑:程序博客网 时间:2024/05/17 20:25
状态机框架
可以实现类似于小助手插件的效果。可以从一种状态切换到另一种状态。
参考 The State Machine Framework关键字
QApplication app(argc, argv); QPushButton button("State Machine"); // 创建状态机和三个状态,并将三个状态添加到状态机中 QStateMachine machine; QState *s1 = new QState(&machine); QState *s2 = new QState(&machine); QState *s3 = new QState(&machine); // 为按钮部件的geometry属性分配一个值,当进入该状态时会设置该值 s1->assignProperty(&button, "geometry", QRect(100, 100, 120, 50)); s2->assignProperty(&button, "geometry", QRect(300, 100, 120, 50)); s3->assignProperty(&button, "geometry", QRect(200, 200, 120, 50)); // 使用按钮部件的单击信号来完成三个状态的切换 QSignalTransition *transition1 = s1->addTransition(&button, &QPushButton::clicked, s2); QSignalTransition *transition2 = s2->addTransition(&button, &QPushButton::clicked, s3); QSignalTransition *transition3 = s3->addTransition(&button, &QPushButton::clicked, s1); QPropertyAnimation *animation = new QPropertyAnimation(&button, "geometry"); transition1->addAnimation(animation); transition2->addAnimation(animation); transition3->addAnimation(animation); QObject::connect(s3, &QState::entered, &button, &QPushButton::showMinimized); // 设置状态机的初始状态并启动状态机 machine.setInitialState(s1); machine.start(); button.show(); return app.exec();
状态机中使用动画
在属性上添加动画,即进入一个状态时就开始播放动画。
阅读全文
0 0
- Qt笔记_14
- Java学习笔记_14
- JavaSE学习笔记_14:Java-Runtime类
- Qt学习之路_14(简易音乐播放器)
- Qt学习之路_14(简易音乐播放器)
- Qt学习之路_14(简易音乐播放器)
- Qt学习之路_14(简易音乐播放器)
- 8_14
- 11_14
- Mars Android视频学习笔记——01_14/15_Handler的使用
- Mars Android视频学习笔记——01_14/15_Handler的使用
- TCP/IP网络编程 学习笔记_14 --多种I/O函数(数据传输扩展)
- 机器学习&数据挖掘笔记_14(GMM-HMM语音识别简单理解)
- 阶段总结1_14
- 安装jdk1.5.0_14
- Oracle_博客园_14
- 黑马程序员_14泛型
- 4_14练练手
- Linux系统基本命令行操作(四)
- 判断素数
- JavaScript 正则表达式 验证数字(包含小数),然后转成千分位的格式
- Java 优秀博客汇总
- 需要整理的笔记
- Qt笔记_14
- thinkphp5.0细节注意事项
- 记录在macOS Sierra系统上编译Hadoop本地库过程
- centos7编译安装httpd-2.4
- py学习之路
- Power Strings next数组应用
- 整理关于java开发工具使用过程中一些小技巧来提高开发效率
- 关于numpy mean函数和var函数用法
- 面试小结