如何通过单击 Qt Widget Application 中的按钮转到其他表单

问题描述

我们有 2 个 ui 表单。假设 form1.uiform2.ui 以及它们的头文件和源文件。 在每个表单中,都有一个pushButton一个标签一个变量QString。我想通过单击 form1.ui 中的按钮来显示 form2.ui 并通过单击 form2.ui 中的按钮来显示 form1.ui。

label1 的文本为 QString2 的值,label2 的文本为 QString1 的值。

这是大纲: Project outline

form1.cpp:

#include "form1.h"
#include "ui_form1.h"
Form1::Form1(QWidget *parent) :
    QMainWindow(parent),ui(new Ui::Form1)
{
    ui->setupUi(this);
}

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

form1.h

#ifndef FORM1_H
#define FORM1_H

#include <QMainWindow>

namespace Ui {
class Form1;
}

class Form1 : public QMainWindow
{
    Q_OBJECT

public:
    explicit Form1(QWidget *parent = nullptr);
    ~Form1();
    QString str1 = "some text 1";

private:
    Ui::Form1 *ui;
};

#endif // FORM1_H

form2.cpp 和 form2.h 与这些相同。

有人可以分享每个文件代码,它是如何工作的。 提前致谢。

解决方法

没有你提供一点代码...... 理想情况下,当您通过连接发出事件信号时,例如 QPushButton

Your_QPushButton.clicled.connect(lambda: loadUi('form2.ui',self) )

你调用另一个会加载你 ui 的类?