最近在做一个数据可视化大屏的项目,由于图表过多,一个页面放不下,就需要使用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);
}