在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。这样就可以实现多页面跳转,并避免同个画面出现多次的问题。

具体解决qt 关于多页面跳转之后同个画面出现多次的问题

原文地址: https://www.cveoy.top/t/topic/iwUO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录