以下是一个简单的 QT 切换窗口的代码:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class SecondWindow;

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;
    SecondWindow *secondWindow;
};

#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "secondwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    secondWindow = new SecondWindow(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    secondWindow->show();
    this->hide();
}
#ifndef SECONDWINDOW_H
#define SECONDWINDOW_H

#include <QDialog>

namespace Ui {
class SecondWindow;
}

class SecondWindow : public QDialog
{
    Q_OBJECT

public:
    explicit SecondWindow(QWidget *parent = nullptr);
    ~SecondWindow();

private slots:
    void on_pushButton_clicked();

private:
    Ui::SecondWindow *ui;
};

#endif // SECONDWINDOW_H
#include "secondwindow.h"
#include "ui_secondwindow.h"

SecondWindow::SecondWindow(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::SecondWindow)
{
    ui->setupUi(this);
}

SecondWindow::~SecondWindow()
{
    delete ui;
}

void SecondWindow::on_pushButton_clicked()
{
    this->hide();
    parentWidget()->show();
}

在这个例子中,我们创建了两个窗口:MainWindow 和 SecondWindow。MainWindow 有一个按钮,当我们点击按钮时,它将隐藏自己并显示 SecondWindow。SecondWindow 也有一个按钮,当我们点击它时,它将隐藏自己并显示 MainWindow。注意:在 SecondWindow 中,我们使用 parentWidget() 函数来获取 MainWindow 并显示它。

QT 切换窗口代码示例:MainWindow 与 SecondWindow 的相互切换

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

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