基础目标:创建两个按钮,open和close,点击open打开一个新窗口,点击close,关闭窗口。
进阶目标:创建一个按钮,点击一下打开新窗口,且按钮文本变成close,再点击一下关闭按钮。
知识点:1.如何创建窗口和按钮
2. 信号与槽的连接
3. lambda函数的使用
4.如何调出按钮的文本
#include "widget.h"
#include "ui_widget.h"
#include<QPushButton>//按钮文件
#include<QWidget>//窗口文件
#include<QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//新建窗口
QWidget * one=new QWidget;
//按钮
QPushButton *btn1=new QPushButton("open",this);
QPushButton *btn2=new QPushButton("colse",this);
btn1->move(150,100);
btn2->move(150,200);
//主窗口设置
this->resize(400,400);
setWindowTitle("work");
//目标1
//open按钮的连接
connect(btn1,&QPushButton::clicked,one,[=](){
// one->show();
});
//close按钮的连接
connect(btn2,&QPushButton::clicked,one,[=](){
one->close();
this->close();
});
//目标2
//open点击一下,按钮文本变colse,再次点击就关闭one窗口
connect(btn1,&QPushButton::clicked,one,[=](){
if(btn1->text()==QString("colse2"))
{
one->close();
qDebug()<<"作业完成"<<endl;
qDebug("sss");
}
else
{
one->show();
btn1->setText("colse2");
}
});
}
Widget::~Widget()
{
delete ui;
}