作业1
按上课
按钮,弹出一个新的窗口
按下课
按钮,关闭之前弹出的新窗口
my_win.h
#ifndef MY_WIN_H
#define MY_WIN_H
#include <QWidget>
class my_win : public QWidget
{
Q_OBJECT
public:
explicit my_win(QWidget *parent = nullptr);
QWidget *my_w = new QWidget();
signals:
public slots:
void my_newWin();
void close_win();
};
#endif // MY_WIN_H
my_win.cpp
#include "my_win.h"
my_win::my_win(QWidget *parent) : QWidget(parent)
{}
void my_win::my_newWin(){
my_w->show();
}
void my_win::close_win(){
my_w->close();
}
mywidget.cpp
#include "mywidget.h"
#include "ui_mywidget.h"
#include<QPushButton>
#include<QWidget>
#include"my_win.h"
myWidget::myWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::myWidget)
{
ui->setupUi(this);
QPushButton *bt1 = new QPushButton("上课",this);
QPushButton *bt2 = new QPushButton("下课",this);
bt2->move(100,0);
my_win *var_w = new my_win();
connect(bt1,&QPushButton::clicked,this,[=](){
var_w->my_newWin();
});
connect(bt2,&QPushButton::clicked,this,[=](){
var_w->close_win();
});
}
myWidget::~myWidget()
{
delete ui;
}
作业1-拓展
按上课
按钮,弹出一个新的窗口;之后上课
按钮变成下课
按钮,关闭之前弹出的新窗口
my_win.h
#ifndef MY_WIN_H
#define MY_WIN_H
#include <QWidget>
class my_win : public QWidget
{
Q_OBJECT
public:
explicit my_win(QWidget *parent = nullptr);
QWidget *my_w = new QWidget();
void open_win();
void close_win();
signals:
public slots:
};
#endif // MY_WIN_H
my_win.cpp
#include "my_win.h"
my_win::my_win(QWidget *parent) : QWidget(parent)
{
}
void my_win::open_win(){
my_w->show();
}
void my_win::close_win(){
my_w->close();
}
mywidget.cpp
#include "mywidget.h"
#include "ui_mywidget.h"
#include<QPushButton>
#include"my_win.h"
myWidget::myWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::myWidget)
{
ui->setupUi(this);
QPushButton *bt = new QPushButton("上课",this);
my_win *my_window = new my_win();
int m=1;
connect(bt,&QPushButton::clicked,this,[=]()mutable{
if(m==1){
my_window->open_win();
bt->setText("下课");
m--;
}
else {
my_window->close_win();
bt->setText("上课");
m++;
}
});
}
myWidget::~myWidget()
{
delete ui;
}