slide from one widget to another
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QWidget panel;
QVBoxLayout *l = new QVBoxLayout(&panel);
QFrame *viewport = new QFrame;
viewport->setFrameShape(QFrame::Box);
viewport->setFixedSize(,); l->addWidget(viewport);
QPushButton *b = new QPushButton("Swap");
l->addWidget(b);
QStateMachine machine;
QState *s1 = new QState;
QState *s2 = new QState; QWidget *w1 = new QCalendarWidget(viewport);
w1->setFixedSize(,);
QWidget *w2 = new QListView(viewport);
w2->setFixedSize(,); QGraphicsBlurEffect *e1 = new QGraphicsBlurEffect(w1);
QGraphicsBlurEffect *e2 = new QGraphicsBlurEffect(w2);
w1->setGraphicsEffect(e1);
w2->setGraphicsEffect(e2); s1->assignProperty(w1, "pos", QPoint(,));
s1->assignProperty(w2, "pos", QPoint(,));
s1->assignProperty(e1, "blurRadius", );
s1->assignProperty(e2, "blurRadius", );
s2->assignProperty(w1, "pos", QPoint(-, ));
s2->assignProperty(w2, "pos", QPoint(,));
s2->assignProperty(e1, "blurRadius", );
s2->assignProperty(e2, "blurRadius", ); s1->addTransition(b, SIGNAL(clicked()), s2);
s2->addTransition(b, SIGNAL(clicked()), s1); machine.addState(s1);
machine.addState(s2); QPropertyAnimation *anim1 = new QPropertyAnimation(w1, "pos");
QPropertyAnimation *anim2 = new QPropertyAnimation(w2, "pos");
anim1->setEasingCurve(QEasingCurve::InOutCubic);
anim2->setEasingCurve(anim1->easingCurve());
anim1->setDuration();
anim2->setDuration(anim1->duration());
machine.addDefaultAnimation(anim1);
machine.addDefaultAnimation(anim2); anim1 = new QPropertyAnimation(e1, "blurRadius");
anim2 = new QPropertyAnimation(e2, "blurRadius");
anim1->setDuration();
anim2->setDuration(anim1->duration());
machine.addDefaultAnimation(anim1);
machine.addDefaultAnimation(anim2);
machine.setInitialState(s1);
machine.start();
panel.show();
return app.exec();
}
slide from one widget to another


slide from one widget to another的更多相关文章
- AdminLTE-2.2.0 学习
这货基于Bootstrap 3(提供了统一的样式,覆盖了默认的),所以官方建议先搞懂Bootstrap 3再说. # 布局 Layout 布局由四个主要部分组成: Wrapper (.wrapper) ...
- jqueryui引用出错(base is not a constructor,widget no found)
出错的原因,主要是引用顺序出错. 正确顺序如下: query本身必须放在第一位: <script src="../../../Scripts/Jquery1.7.2/jquery-1. ...
- ArcGIS API for JavaScript 4.2学习笔记[10] 2D添加指北针widget、视图保存、视图padding(第二章完结)
这几个例子是第二章除了入门之外比较简单的几个,就做个合集,把最核心的代码(第二参数)和 引用放上来即可,不作多解释. 2D地图添加指北针widget 2D地图一般修正方向为正北方就需要这个widget ...
- jq 自定义标注小组件 $.widget
html 部分 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- StructureMap 代码分析之Widget 之Registry 分析 (1)
说句实话,本人基本上没用过Structuremap,但是这次居然开始看源码了,不得不为自己点个赞.Structuremap有很多的类,其中有一个叫做Widget的概念.那么什么是Widget呢?要明白 ...
- Sencha ExtJS 6 Widget Grid 入门
最近由于业务需要,研究了一下Sencha ExtJS 6 ,虽然UI和性能上据相关资料说都有提升,但是用起来确实不太顺手,而且用Sencha cmd工具进行测试和发布,很多内部细节都是隐藏的,出了问题 ...
- 使用 CoordinatorLayout 出错 inflating class android.support.design.widget.CoordinatorLayout
ava.lang.RuntimeException: Unable to start activity ComponentInfo{com.czr.ianpu/com.czr.ianpu.MainAc ...
- yii2——自定义widget
参考资料:http://www.bsourcecode.com/yiiframework2/how-to-create-custom-widget-in-yii2-0-framework/ 如何使 ...
- Yii2 时间控件之把layDate做成widget
实现效果如下 1.把layDate封装成Yii2的widget,存在 "\common\widgets"目录下,命名为DycLayDate,具体引用查看代码. 2.对应的model ...
随机推荐
- window.location.href 和self.location的区别
你从字面上就可以理解到 window 指的是当前窗口 而 self 指的是自己 在HTML 中 由于页面可以镶嵌页面 所以这2个就有了 区别 比如说 我有个页面A.HTML 里面嵌套了一个B.HTML ...
- 什么是DNN,Dotnetnuke介绍和功能简介
1. What is DNN? DNN是DotNetNuke(DotNet)的简写.它是在IBUYSPY(IBUYSPY是微软用来推广ASP.NET而推出的范例程序)的基础上发展起来的,是一个免费的. ...
- MySQL数据库my.cnf配置文件注释详解
我们知道,在MySQL数据库安装完成后,要对my.cnf配置文件进行适当的修改才能充分利用MySQL数据库的功能.但是对于初学者来说,修改my.cnf配置文件似乎是一个比较难的过程.为了解决这个问题, ...
- MYSQL数据库命名与其设计规范
你是否对获得MYSQL数据库命名与其设计规范 的实际操作感到十分头疼?如果是这样子的话,以下的文章将会给你相应的解决方案,以下的文章主要是介绍获得MYSQL数据库命名与其设计规范 的方案,以下就是相关 ...
- expected function body after function declarator
我出现这个错误是在pch中添加了一个a.h文件 然后在其他文件的b.h文件中就出现这个错误.. 后来排查出原因是: 在pch中, 这个a.h文件在b.h文件之后, 所以在b.h中使用的时候就会报错
- 关于JavaScript对象的键和值
一个JavaScript对象由键和值组成. 当一个给定键的值被设置为一个字符串.布尔值.数字.数组或对象时,我们把这个键称为属性. 当把键设置为函数时,我们把它叫做方法.
- [转]使用wireshark分析TCP/IP协议中TCP包头的格式
本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述 TCP是面向连接的可靠传输协议,两个进程互发数 ...
- C#冒泡排序--详解
思路:以数组int[]a={55,42,15,3,66,52};为例. 每一轮排序都把最大的数放在最后 所以, 对应循环语句思路 这样就很清晰了. 代码如下: , , , , , , , }; ; i ...
- windows Server 2003修改远程连接限制
调整最大远程连接数: 1.开始->控制面板->添加或删除程序->添加/删除windows组件->选择“终端服务器”进行安装. 2.开始->运行->gpedit.ms ...
- 用Set中元素做条件查询
一个老师教许多学生,一个学生被许多老师教,一个学生有好多书,同一种书被许多同学拥有.查询教拥有书"a"的学生的老师: class teacher{ String id; ...