QT实现StackedWidget页面自动切换

最近在做一个数据可视化大屏的项目,由于图表过多,一个页面放不下,就需要使用StackedWidget的页面放置不同的表。使StackedWidget自动切换页面展示图表。

1.先在UI中放一个QStackedWidget,StackedWidget的页面数量按需求设定。

2.用到定时器实现页面自动切换,QTimer。

代码:

在.h文件中加入以下代码:

#include <QTimer>        //定时器头文件



private slots:
    void sckindex();    //页面切换槽函数


private:
    Ui::MainWindow *ui;
    QTimer *timer;    //定时器

在.cpp文件中加入以下代码:

    //在类的构造函数中加入下面4行代码
    timer = new QTimer(this);
    timer->setInterval(5000);    //设置定时器时间,即每隔5秒切换一个页面
    connect(timer,&QTimer::timeout,this,&MainWindow::sckindex);    //连接槽函数
    timer->start();



void MainWindow::sckindex()    //槽函数
{
    int index = (ui->stackedWidget->currentIndex()+1)%ui->stackedWidget->count();
    ui->stackedWidget->setCurrentIndex(index);
}

猜你喜欢

转载自blog.csdn.net/weixin_55735677/article/details/129835814
今日推荐