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

怎么设置自己做的网站怎么做网络推广

怎么设置自己做的网站,怎么做网络推广,电商网站 建设价格,响应式网页设计用什么软件目录 前言 接口考虑 实现的思路 前言 笔者这段时间沉迷于给我的下位机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://www.dtcms.com/wzjs/65954.html

相关文章:

  • 做网站开发需要学什么软件网站搜索优化价格
  • 中国建筑资讯网河北百度推广seo
  • 淘宝网网页seo如何提升排名收录
  • 建设网络强国征文seo排名点击
  • 北京市住房城乡建设委员会官方网站北京网络营销推广外包
  • 在网站上做教学直播平台多少钱青岛网站建设方案服务
  • 威海建设委员会网站百度网站官网入口
  • 河南省建设厅官方网站页面关键词优化
  • 如果启动浏览器就能直接打开一个常用的网站主页_要怎么做?seo的作用是什么
  • 西安企业建站营销策划书
  • 石家庄网站建设备案seo性能优化
  • 娱乐类网站软文代写
  • 网页制作与网站建设设计价格目前在哪个平台做推广好
  • 云平台网站优化网站推广seo
  • 国外移动端网站模板宁波网络营销策划公司
  • 成都网站建设竞价托管公司联系方式
  • 如何给一个网站做定时的更新武汉网站制作
  • 网站页面太多是否做静态有友情链接的网站
  • 专业网站建设微信官网开发网页设计怎么做
  • 怎么做狼视听网站怎么弄推广广告
  • 张浦专业做网站百度推广怎么收费的
  • 网站建设平台推广网站关键词在哪里看
  • 手机网站自适应宽度百度广告投诉电话客服24小时
  • 软件开发技术培训中心网站优化包括哪些
  • 电商网站那些功能用到静态化功能app注册推广任务平台
  • 天津做再生资源交易的网站搜狗关键词排名此会zjkwlgs
  • 怎么使自己做的网站有音乐外贸网站建设优化推广
  • asp.net网站开发之美海淀区seo搜索引擎
  • 5g互联如何取消网站备案个人网站怎么做
  • 广州网站建设定制哪家口碑好公司怎么在网上推广