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的更多相关文章

  1. AdminLTE-2.2.0 学习

    这货基于Bootstrap 3(提供了统一的样式,覆盖了默认的),所以官方建议先搞懂Bootstrap 3再说. # 布局 Layout 布局由四个主要部分组成: Wrapper (.wrapper) ...

  2. jqueryui引用出错(base is not a constructor,widget no found)

    出错的原因,主要是引用顺序出错. 正确顺序如下: query本身必须放在第一位: <script src="../../../Scripts/Jquery1.7.2/jquery-1. ...

  3. ArcGIS API for JavaScript 4.2学习笔记[10] 2D添加指北针widget、视图保存、视图padding(第二章完结)

    这几个例子是第二章除了入门之外比较简单的几个,就做个合集,把最核心的代码(第二参数)和 引用放上来即可,不作多解释. 2D地图添加指北针widget 2D地图一般修正方向为正北方就需要这个widget ...

  4. jq 自定义标注小组件 $.widget

    html 部分 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  5. StructureMap 代码分析之Widget 之Registry 分析 (1)

    说句实话,本人基本上没用过Structuremap,但是这次居然开始看源码了,不得不为自己点个赞.Structuremap有很多的类,其中有一个叫做Widget的概念.那么什么是Widget呢?要明白 ...

  6. Sencha ExtJS 6 Widget Grid 入门

    最近由于业务需要,研究了一下Sencha ExtJS 6 ,虽然UI和性能上据相关资料说都有提升,但是用起来确实不太顺手,而且用Sencha cmd工具进行测试和发布,很多内部细节都是隐藏的,出了问题 ...

  7. 使用 CoordinatorLayout 出错 inflating class android.support.design.widget.CoordinatorLayout

    ava.lang.RuntimeException: Unable to start activity ComponentInfo{com.czr.ianpu/com.czr.ianpu.MainAc ...

  8. yii2——自定义widget

    参考资料:http://www.bsourcecode.com/yiiframework2/how-to-create-custom-widget-in-yii2-0-framework/   如何使 ...

  9. Yii2 时间控件之把layDate做成widget

    实现效果如下 1.把layDate封装成Yii2的widget,存在 "\common\widgets"目录下,命名为DycLayDate,具体引用查看代码. 2.对应的model ...

随机推荐

  1. mysql_fetch_assoc() ,mysql_fetch_array() , mysql_fetch_row()的区别

    1. mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组. 返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false. 输出: Array ( [LastNa ...

  2. 002_系统表查询(sysdatabases等)

    002_系统表查询(sysdatabases等) --1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name --2.获取所有表 ...

  3. addChildViewController 用法

    // // SCMyOrderViewController.m // SmartCommunity // // Created by chenhuan on 15/9/7. // Copyright ...

  4. jquery上传控件个人使用

    转了一篇jquery的上传控件使用博文,但是,经过测试貌似不行,自己研究了一下,效果实现.记下,以后使用. 下载“Uploadify”,官方版本为php的,很多文件不需要,删除带.php的文件. &l ...

  5. php实现冒泡排序

    冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N.1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换.2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最 ...

  6. java J2EE学习入门

    首先学习JAVA基础编程,大学教材就是最简单的了!象写写Helloworld啊 输出水仙花数啊 玩些简单的,慢慢在研究研究流啊,都可以了.然后学习简单的JSP,这个时候多上网上DOWN一些原码.多看看 ...

  7. BufferedOutputStream

    package file; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStr ...

  8. 学习微信小程序之css17clearfix原理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 突破路由mac地址过滤思路

    一.获取合法的mac地址 在拿到无线网络的密码时,主要思路就是,用类似airodump-ng这类监听软件(WildPackets OmniPeek,Kismet),获得合法客户端的mac地址,然后再更 ...

  10. 转:VC++获取屏幕大小第一篇 像素大小GetSystemMetrics

    VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics>和<VC++获取屏幕大小第二篇物理大小GetDeviceCaps 上>和<VC++获取屏幕大小第三篇物理 ...