首先需要在UI界面中添加一个TabWidget,然后在代码中实现动态添加页面和按钮的功能。
- 动态添加页面
// 创建一个新页面
QWidget *newPage = new QWidget();
// 将新页面添加到TabWidget中
ui->tabWidget->addTab(newPage, "Page");
// 设置当前选中的页面为新页面
ui->tabWidget->setCurrentWidget(newPage);
- 添加按钮
// 在新页面上添加一个按钮
QPushButton *button = new QPushButton("Next", newPage);
// 设置按钮的位置和大小
button->setGeometry(QRect(100, 100, 75, 23));
// 连接按钮的点击信号和槽函数进行翻页操作
connect(button, SIGNAL(clicked()), this, SLOT(nextPage()));
- 翻页操作
void MainWindow::nextPage()
{
// 获取当前选中的页面的索引
int currentIndex = ui->tabWidget->currentIndex();
// 计算下一个页面的索引
int nextIndex = (currentIndex + 1) % ui->tabWidget->count();
// 切换到下一个页面
ui->tabWidget->setCurrentIndex(nextIndex);
}
完整示例代码如下:
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void nextPage();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
// 添加第一个页面
QWidget *firstPage = new QWidget();
ui->tabWidget->addTab(firstPage, "Page 1");
// 在第一个页面上添加一个按钮
QPushButton *button = new QPushButton("Next", firstPage);
button->setGeometry(QRect(100, 100, 75, 23));
connect(button, SIGNAL(clicked()), this, SLOT(nextPage()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::nextPage()
{
// 获取当前选中的页面的索引
int currentIndex = ui->tabWidget->currentIndex();
// 计算下一个页面的索引
int nextIndex = (currentIndex + 1) % ui->tabWidget->count();
// 切换到下一个页面
ui->tabWidget->setCurrentIndex(nextIndex);
}
注意:在实际使用中,可能需要根据具体需求进行一些改动,比如设置每个页面的内容、更改按钮的样式等。