QT学习笔记--开启关闭交替练习

本文展示了如何在Qt环境中创建一个窗口,窗口内包含两个按钮,分别标记为‘开启’和‘关闭’。通过点击事件和lambda表达式,实现了点击‘开启’按钮后消失,仅显示‘关闭’按钮,以及点击‘关闭’按钮后消失,显示‘开启’按钮的功能。此外,还提供了一个单按钮版本,按钮在‘开启’和‘关闭’状态之间切换。
摘要由CSDN通过智能技术生成

要求:在窗体中添加两个按钮:开启与关闭,点击开启后消失,只留下关闭按钮,反之亦然。

代码:

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //设置大小
    this->setFixedSize(500, 500);
    //添加两个按钮
    QPushButton *open = new QPushButton(this);
    open->setText("开启");
    QPushButton *close = new QPushButton(this);
    close->setText("关闭");
    close->move(300, 0);//向右移动300
    //给两个添加
    connect(open, &QPushButton::clicked, open,
            [=](){
        open->close();//点击后将open关闭
        close->show();});
    connect(close, &QPushButton::clicked, close,
            [=](){
        close->close();//点击后将open关闭
        open->show();//将创建新的open
        });
}

用lambda表达式:当点击了某个按钮后,将其close,然后令另一个show即可

只有一个按钮时

Open_close_button::Open_close_button(QWidget *parent) : QWidget(parent)
{
    //实现一个框体,令其显示时有一个按钮为开启状态,点击后变为关闭,再点击变为开启
    this->setFixedSize(400, 400);
    QPushButton *p = new QPushButton(this);
    p->setText("开启");
    connect(p, &QPushButton::clicked, p, [=](){
        if(p->text() == "开启"){//是开启则改为关闭
            p->setText("关闭");
        }
        else{
            p->setText("开启");
        }
    });
}

注:p->text()返回值是一个QString

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值