qt 批量隐藏控件 隐藏按钮

前言

在软件开发过程中增加了很多辅助的控件,贸然删除可能会出现意想不到的错误,希望将其隐藏,不出现在界面上。
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);
        }
    }
}

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

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Fourier_1024

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

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

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

打赏作者

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

抵扣说明:

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

余额充值