当前位置: 首页 > wzjs >正文

服务关系型网站怎么做做网站单位

服务关系型网站怎么做,做网站单位,动漫制作专业贵州有哪些大专院校,html代码块目录 前言 接口考虑 实现的思路 前言 笔者这段时间沉迷于给我的下位机I.MX6ULL做桌面,这里抽空更新一下QT的东西。这篇文章是跟随CCMoveWidget一样的文章,尝试分享自己如何书写这份代码的思考的过程 接口考虑 笔者不太想使用继承的方式重新写我们的…

目录

前言

接口考虑

实现的思路


前言

笔者这段时间沉迷于给我的下位机I.MX6ULL做桌面,这里抽空更新一下QT的东西。这篇文章是跟随CCMoveWidget一样的文章,尝试分享自己如何书写这份代码的思考的过程

接口考虑

笔者不太想使用继承的方式重新写我们的QStackWidget,一方面,他实在是没办法更好的融入我的其他项目,很多地方我需要重新大规模的替换原先的代码,替换这个事情在软件开发还是存在一定的风险的。因此笔者选择做加法——让QStackWidget可以做动画(不需要的时候直接不使用接口函数即可)

总的来讲,笔者做出了这些抽象

#ifndef STACKPAGE_SWITCHER_ANIMATION_H
#define STACKPAGE_SWITCHER_ANIMATION_H
#include <QObject>
class QStackedWidget;
​
struct StackpageSwitcherAnimation : public QObject
{Q_OBJECT
public:explicit StackpageSwitcherAnimation(QObject* parent = nullptr) : QObject(parent){}
​struct AnimationInfo{int     new_index;bool    toLeft;int     animation_duration{400};};
​static void process_animations(QStackedWidget* binding_widget,AnimationInfo* animation_info);
};
​
#endif // STACKPAGE_SWITCHER_ANIMATION_H

可以看到还是很简单的一份接口,下面我来说一说实现

实现的思路

基本的思路非常的简单,就是使用QPropertyAnimation和其派生的组动画,将我们的新一页按照方向放置在现有页的左侧或者是右侧(这里toLeft的作用就是在这里),我们将新的一页放置到外侧且隐藏后,对两者都做动画就行了。

#include "stackpage_switcher_animation.h"
#include <QPropertyAnimation>
#include <QStackedWidget>
#include <QParallelAnimationGroup>
​
void StackpageSwitcherAnimation::process_animations(QStackedWidget* binding_widget, AnimationInfo* animation_info)
{QWidget *currentPage = binding_widget->currentWidget();QWidget *nextPage = binding_widget->widget(animation_info->new_index);
​int moving_width = animation_info->toLeft ? binding_widget->width() : -binding_widget->width();nextPage->move(moving_width, 0);nextPage->show();
​/* moves out */QPropertyAnimation *animCurrent = new QPropertyAnimation(currentPage, "pos");animCurrent->setDuration(300);animCurrent->setStartValue(currentPage->pos());animCurrent->setEndValue(QPoint(-moving_width, 0));
​/* moves in */QPropertyAnimation *animNext = new QPropertyAnimation(nextPage, "pos");animNext->setDuration(300);animNext->setStartValue(nextPage->pos());animNext->setEndValue(QPoint(0, 0));
​QParallelAnimationGroup *group = new QParallelAnimationGroup(binding_widget);group->addAnimation(animCurrent);group->addAnimation(animNext);
​connect(group, &QParallelAnimationGroup::finished, binding_widget, [=]() {binding_widget->setCurrentWidget(nextPage);currentPage->move(0, 0); // 复位旧页面});
​group->start(QAbstractAnimation::DeleteWhenStopped);
}

QParallelAnimationGroup在这里还是很简单的意思,那就是保证动画的同步开始和同步的结束。

这份代码是笔者目前用在项目中的,您可以自行更改学习研究!以上!


文章转载自:

http://N4xlV7PH.qzzmp.cn
http://G2SEp7ga.qzzmp.cn
http://7RwT0Gnu.qzzmp.cn
http://7bksQK0Q.qzzmp.cn
http://kxsAxC49.qzzmp.cn
http://TfuZxkLw.qzzmp.cn
http://UnVq08g4.qzzmp.cn
http://Zotmx0w9.qzzmp.cn
http://6ztFPQVV.qzzmp.cn
http://9IElz9De.qzzmp.cn
http://1wwoDahJ.qzzmp.cn
http://n4S7VI06.qzzmp.cn
http://BvUVqoli.qzzmp.cn
http://d6Rf50ws.qzzmp.cn
http://d25MQgb8.qzzmp.cn
http://r9ZOJazK.qzzmp.cn
http://6c7dKU96.qzzmp.cn
http://OKHMOurC.qzzmp.cn
http://YadWcHgW.qzzmp.cn
http://s3mlpJsM.qzzmp.cn
http://HrxD2gDG.qzzmp.cn
http://Ej5O7jzO.qzzmp.cn
http://oztg0nuL.qzzmp.cn
http://FAUiZk6h.qzzmp.cn
http://giGKISib.qzzmp.cn
http://EsbsxpOD.qzzmp.cn
http://IbYY1Bvx.qzzmp.cn
http://RmgMFqs1.qzzmp.cn
http://dGTKh32C.qzzmp.cn
http://PtAomEMc.qzzmp.cn
http://www.dtcms.com/wzjs/733852.html

相关文章:

  • 有没有专门做游戏辅助的网站小红书推广方法
  • 深圳 电子商务网站开发怎样做自媒体拍视频赚钱
  • 网站推广计划方案wordpress 虚拟订阅插件
  • 目前哪些企业需要做网站建设的呢郴州市网站建设
  • 湛江仿站定制模板建站网站开发最快框架
  • 北京环评在那个网站上做网站建设皿金手指谷哥壹柒
  • 建设银行支行网站做shopify网站
  • 做网站好的网络公司做网站都能赚钱吗
  • 网上做的比较好的竞彩网站普通电脑怎么建设网站
  • 如何设计网站栏目wordpress更换网站数据库
  • 一般网站使用什么做的wordpress 调用所有分类
  • 网站开发设计过程网站设计制作用软件
  • 安徽省建设工程信息网站小程序网站开发运行合同
  • 怎么做一个链接网站seo技巧与技术
  • 网站添加关键词会不会编程一小时网站
  • 网站建设开发报告论文互联网行业有哪些公司
  • 海外网站入口长尾关键词爱站
  • 网站做下cdn制作网页首页教程
  • 怎样分析网站做seo三亚政策最新消息
  • 全站仪建站视频多个网站做计划
  • 建网络商城网站网站建设的配置
  • 济南网站建设方案详细做空压机网站的公司有哪些
  • 网站排版图片企业网站欣赏郑州企业形象设计
  • 网站的打开速度做的网站乱码怎么搞
  • 拓吧网站站长之家ip地址归属查询
  • WordPress导出单页seo排名推广工具
  • 网站核验单 没有网站 怎么办网站注册协议
  • 比较有名的网站建设公司做彩票网站需要什么
  • 专业的建设网站想做网站制作运营注册什么公司核实
  • 做网站的私活做电脑系统网站