Qt——(信号和槽案例)按钮控制窗口开关

按钮控制窗口开关:
window.h

#ifndef WINDOWS_H
#define WINDOWS_H
#include class windows:public QWidget
{
public:windows();QWidget *win = new QWidget();
public slots:void windowShow();void windowClose();
};#endif // WINDOWS_H

window.cpp

#include "windows.h"windows::windows()
{}
void windows::windowShow(){win->show();}
void windows::windowClose(){win->close();
}

mywidget.h

#ifndef MYWIDGET_H
#define MYWIDGET_H
#include "windows.h"
#include QT_BEGIN_NAMESPACE
namespace Ui { class myWidget; }
QT_END_NAMESPACEclass myWidget : public QWidget
{Q_OBJECTpublic:myWidget(QWidget *parent = nullptr);~myWidget();private:windows * w;Ui::myWidget *ui;
};
#endif // MYWIDGET_H

mywidget.cpp

#include "mywidget.h"
#include "ui_mywidget.h"
#include "windows.h"
#includemyWidget::myWidget(QWidget *parent): QWidget(parent), ui(new Ui::myWidget)
{ui->setupUi(this);this->w = new windows();    //创建窗口对象//两个按键控制窗口开关
//    QPushButton* btn = new QPushButton("open",this);
//    btn->setParent(this);
//    btn->move(300,300);//    QPushButton* btn2 = new QPushButton("close",this);
//    btn2->setParent(this);
//    btn2->move(300,500);//    connect(btn,&QPushButton::clicked,this,[=](){//          w->windowShow();//    });//    connect(btn2,&QPushButton::clicked,this,[=](){//          w->windowClose();//    });//一个按键控制窗口开关QPushButton* btn = new QPushButton("open",this);btn->setParent(this);btn->move(300,300);connect(btn,&QPushButton::clicked,this,[=](){if(btn->text() == "open"){w->windowShow();btn->setText("close");} else if(btn->text() == "close"){w->windowClose();btn->setText("open");}});}myWidget::~myWidget()
{delete ui;
}

learned from:传智教育


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部