本程序是基于VS+Qt的,这里需要再在VS界面里面 (解决方案管理器->mydialog->Form Files->右键->添加->类->Qt5Classes->Qt5GuiClass->填写MainWindow2)并保存。
创建好后,在MainWindow.h中写入:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtWidgets/QMainWindow>
#include "ui_mainwindow.h"
//-----------------------
#include <qpushbutton.h>
#include <mainwindow2.h>
//---------------------------
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindowClass ui;
//-----------------------
QPushButton *button;
MainWindow2 w2;
private slots:
void showMainWindow2();
//---------------------
};
#endif // MAINWINDOW_H
在MainWindow.cpp里面写入:
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);//值得注意的是,这个必须在最上面,如此例!
//----------------------
button = new QPushButton(this);
button->setGeometry(QRect(50, 50, 100, 25));
button->setText("push button");
connect(button, SIGNAL(clicked()), this, SLOT(showMainWindow2()));
//------------------------
}
MainWindow::~MainWindow()
{
}
void MainWindow::showMainWindow2()
{
w2.show();
}
运行结果如下: