QT开发学习手册(四)-创建多个窗口实例
一、前言
二、实现
1、创建新文件
2、修改代码
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPushButton>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
void create_subwindow();
void delete_subwindow();
private:
Ui::MainWindow *ui;
QPushButton * btn1,* btn2;
QWidget subwindow;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
btn1 = new QPushButton(this);
btn2 = new QPushButton(this);
btn1->setText("创建子窗口");
btn2->setText("隐藏子窗口");
btn1->move(0,15);
btn2->move(100,15);
connect(btn1,&QPushButton::pressed,this,&MainWindow::create_subwindow);
connect(btn2,&QPushButton::released,this,&MainWindow::delete_subwindow);
}
/*
* 自定义槽函数
*/
void MainWindow::create_subwindow()
{
subwindow.setWindowTitle("sub_window");
subwindow.show();
}
void MainWindow::delete_subwindow()
{
subwindow.hide();
}
MainWindow::~MainWindow()
{
delete ui;
}
subwindow.h
#ifndef SUBWINDOW_H
#define SUBWINDOW_H
#include <QWidget>
class subwindow : public QWidget
{
Q_OBJECT
public:
explicit subwindow(QWidget *parent = nullptr);
signals:
public slots:
};
#endif // SUBWINDOW_H
subwindow.cpp
#include "subwindow.h"
subwindow::subwindow(QWidget *parent) : QWidget(parent)
{
}