Qt打开窗口关闭窗口按钮

Qt打开窗口关闭窗口按钮

	QPushButton* btn3 = new QPushButton("open", this);
    QWidget* next = new QWidget();
    connect(btn3, &QPushButton::clicked, this, [=](){
        if(btn3->text() == "open"){
            btn3->setText("close");
            emit next->show();
        }
        else{
            btn3->setText("open");
            emit next->close();
        }
    });

QpushBUtton

show()用以顶层方式弹出窗口

btn->setParent(*this);

对象树

交给父类中的表中,释放时释放

当创建的对象在堆区的时候,如果指定的父亲时object派生下来的类,可以不用管理释放惭怍,将对象放入对象树中

一定程度上简化了内存回收机制

坐标系

左上角0, 0点

信号和槽

人 ------摩擦-----》 神灯 ------》出灯神

按钮 -----点击-----》按钮---------》关闭窗口

connect(信号发送者, 信号, 信号接收者,信号的处理(槽函数));

信号槽的有点,松散耦合,信号发送端和接受端没有关联,通过coonect链接,将两端耦合在一起。

    connect(btn, &QPushButton::clicked, this, &QWidget::close);

信号和槽

链接函数connect

自定义的信号量和槽

signals:
    void hungry();
public slot:
	void treat();

自定义信号

  • 返回void
  • 需要声明,不要实现
  • 可以有参数,可以重载

自定义槽函数

  • 返回void
  • 需要声明,也要实现
  • 可以有参数,可以重载
  • 写道public slot 或者public 或者全局函数
注意
  • 信号时可以连接信号
  • 一个信号可以链接多个槽函数
  • 多个信号可以链接同一个槽函数
  • 信号和槽函数的参数必须一一对应
  • 信号的参数个数可以多余槽函数参数个数
[]()->int mutable {}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值