可以使用Qt中的QStackedWidget控件来实现这个功能。QStackedWidget是一个容器,它显示多个窗口部件,但只有一个窗口部件是可见的。当您点击按钮时,可以切换到另一个窗口部件。

下面是一个简单的示例代码:

#include <QtWidgets>
​
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
​
    // 创建两个窗口部件
    QWidget *firstPage = new QWidget();
    QLabel *label1 = new QLabel("This is the first page");
    QVBoxLayout *layout1 = new QVBoxLayout(firstPage);
    layout1->addWidget(label1);
    QPushButton *button1 = new QPushButton("Go to second page");
    layout1->addWidget(button1);
​
    QWidget *secondPage = new QWidget();
    QLabel *label2 = new QLabel("This is the second page");
    QVBoxLayout *layout2 = new QVBoxLayout(secondPage);
    layout2->addWidget(label2);
    QPushButton *button2 = new QPushButton("Go to first page");
    layout2->addWidget(button2);
​
    // 将两个窗口部件添加到QStackedWidget中
    QStackedWidget stackedWidget;
    stackedWidget.addWidget(firstPage);
    stackedWidget.addWidget(secondPage);
​
    // 点击第一个按钮切换到第二个页面
    QObject::connect(button1, &QPushButton::clicked, [&](){
        stackedWidget.setCurrentIndex(1);
    });
​
    // 点击第二个按钮切换到第一个页面
    QObject::connect(button2, &QPushButton::clicked, [&](){
        stackedWidget.setCurrentIndex(0);
    });
​
    // 显示QStackedWidget
    stackedWidget.show();
​
    return app.exec();
}

在这个示例中,我们创建了两个QWidget,一个包含一个QLabel和一个QPushButton,另一个包含另一个QLabel和一个QPushButton。然后,我们将这两个QWidget添加到QStackedWidget中,并使用connect()函数连接按钮的clicked信号与setCurrentIndex()槽。

当点击第一个按钮时,QStackedWidget将切换到第二个页面,并显示第二个QWidget。当点击第二个按钮时,它将切换回第一个页面,并显示第一个QWidget。

您可以根据需要修改代码以创建自己的界面。

 进群领取qt开发学习资料以及技术交流  在下方↓↓↓↓↓↓↓↓

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐