具体解决qt 关于多页面跳转之后同个画面出现多次的问题
在Qt中,可以使用QStackedWidget来实现多页面跳转。当切换到下一个页面时,可以将之前的页面隐藏起来,避免同个画面出现多次。
以下是一个示例代码:
#include <QApplication>
#include <QStackedWidget>
#include <QPushButton>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QStackedWidget stackedWidget;
// 创建页面1
QWidget *page1 = new QWidget;
QLabel *label1 = new QLabel("Page 1");
QPushButton *nextButton1 = new QPushButton("Next");
QVBoxLayout *layout1 = new QVBoxLayout(page1);
layout1->addWidget(label1);
layout1->addWidget(nextButton1);
// 创建页面2
QWidget *page2 = new QWidget;
QLabel *label2 = new QLabel("Page 2");
QPushButton *nextButton2 = new QPushButton("Next");
QVBoxLayout *layout2 = new QVBoxLayout(page2);
layout2->addWidget(label2);
layout2->addWidget(nextButton2);
// 将页面添加到stackedWidget中
stackedWidget.addWidget(page1);
stackedWidget.addWidget(page2);
// 连接页面1的按钮点击事件,切换到页面2
QObject::connect(nextButton1, &QPushButton::clicked, [&]() {
stackedWidget.setCurrentWidget(page2);
});
// 连接页面2的按钮点击事件,切换到页面1
QObject::connect(nextButton2, &QPushButton::clicked, [&]() {
stackedWidget.setCurrentWidget(page1);
});
stackedWidget.show();
return a.exec();
}
在这个示例中,我们使用QStackedWidget来管理两个页面。当点击页面1的"Next"按钮时,切换到页面2;当点击页面2的"Next"按钮时,切换到页面1。这样就可以实现多页面跳转,并避免同个画面出现多次的问题。
原文地址: https://www.cveoy.top/t/topic/iwUO 著作权归作者所有。请勿转载和采集!