SlidingStackedWidget(滑动堆叠窗口部件)上一步 下一步 QStackedWidget Qt工具软件

  • A+
所属分类:Qt工具软件

SlidingStackedWidget(滑动堆叠窗口部件)

SlidingStackedWidget(滑动堆叠窗口部件)上一步 下一步 QStackedWidget Qt工具软件

SlidingStackedWidget(滑动堆叠窗口部件)是Qt中的一个自定义部件,它是对QStackedWidget(堆叠窗口部件)的扩展和增强。SlidingStackedWidget允许您在切换堆叠页面时添加滑动效果,为应用程序提供平滑且带有过渡效果的界面切换。

与QStackedWidget相似,SlidingStackedWidget可以管理多个子页面,但它还引入了以下额外的功能:

1.切换效果:SlidingStackedWidget支持水平和垂直两种过渡效果。您可以选择从左到右、从右到左、从上到下或者从下到上的滑动方向。

2.过渡速度和时间:您可以调整滑动过渡的速度和持续时间,以获得满意的视觉效果。

3.动态切换:除了静态地在不同页面之间切换外,SlidingStackedWidget还提供了一些方法,使您可以根据特定条件动态地切换页面。例如,您可以使用slideInNext()slideInPrev()方法在当前页面的基础上进行逐步滑动。

使用SlidingStackedWidget的一般步骤如下:

1.包含第三方源码

  1. include(SlidingStackedWidget/SlidingStackedWidget.pri)

2.包含头文件:

  1. #include "slidingstackedwidget.h"

3.创建SlidingStackedWidget对象:

  1. SlidingStackedWidget *stackedWidget = new SlidingStackedWidget(this);

4.添加子页面:

  1. QWidget *page1 = new QWidget;
  2. QWidget *page2 = new QWidget;
  3. stackedWidget->addWidget(page1);
  4. stackedWidget->addWidget(page2);

5.切换页面:

  1. // 静态切换
  2. stackedWidget->setCurrentIndex(index);
  3. // 动态切换
  4. stackedWidget->slideInNext();
  5. stackedWidget->slideInPrev();

6.设置其他参数

  1. //! Set animation speed
  2. void setSpeed(int speed);
  3. //! Set easing curve
  4. void setAnimation(enum QEasingCurve::Type animationtype);
  5. //! Change positioning mode
  6. void setVerticalMode(bool vertical = true);
  7. //! Enables page wrap for \c slideInNext and \c slideInPrev
  8. void setWrap(bool wrap);
  9. //! Slide to next page
  10. bool slideInNext();
  11. //! Slide to previous page
  12. bool slideInPrev();
  13. //! Slide to page x
  14. void slideInIdx(int idx, enum t_direction direction=AUTOMATIC);
  15.  //! Slide to page with widget
  16. void slideInWgt(QWidget * widget, enum t_direction direction=AUTOMATIC);

 例子工程

链接:https://pan.baidu.com/s/1FY3pxIqokvbQlbaaMYKA9Q?pwd=n73m

效果图

https://kgithub.com/ThePBone/SlidingStackedWidget/blob/master/screenshots/demo.gif?raw=true

引用

https://github.com/ThePBone/SlidingStackedWidget

 

Qt大课堂-QtShare

发表评论

您必须登录才能发表评论!