qt 批量隐藏控件 隐藏按钮

本文介绍了在Qt开发中如何隐藏控件,以避免因贸然删除导致的错误。通过使用QWidget的setVisible方法,可以方便地实现单个或批量隐藏控件。对于多个控件,通过将它们的指针转换为QWidget指针并遍历调用setVisible(false),能高效地批量隐藏。这种方法在界面加载前即隐藏指定控件,确保它们不会显示在界面上。
摘要由CSDN通过智能技术生成

前言

在软件开发过程中增加了很多辅助的控件,贸然删除可能会出现意想不到的错误,希望将其隐藏,不出现在界面上。
qt隐藏控件没有MFC那么方便,需要使用QWidget类的setVisible方法,使用代码方式实现,不能从ui设计界面进行设置(如果有一定要私信我哈)。

实现方式

单独将某一个控件(例如其objectName = testName),直接在主视窗类的成员函数中使用如下语句即可。

ui->testName->setVisible(false);

当需要隐藏的控件较多时,每一个控件都写一行代码太过繁琐。注意到这些控件都是QWidget类的子类,且setVisible是QWidget类的方法,所以将这些控件的指针都变成QWidget对象指针,再调用setVisible即可实现批量隐藏控件。
例如我想隐藏以下蓝色框内所有控件,包括三种类型控件。
在这里插入图片描述
在主视窗构造函数中隐藏这些控件,这样在我们看到界面之前这些控件就被隐藏了。批量隐藏的技巧在于将所有需要隐藏的控件的指针都转换为QWidget指针

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    {
        QWidget* hide[] = {ui->radioButton, ui->radioButton_2,
                           ui->radioButton_3, ui->radioButton_4,
                           ui->label_2, ui->pBtnGit};
        for(int i = 0; i < sizeof(hide)/sizeof(QWidget*); i++){
            hide[i]->setVisible(false);
        }
    }
}

运行效果如下:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fourier_1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值