Qt利用布局,widget和ScrollArea实现抽屉效果

在这里插入图片描述


利用布局,widget和ScrollArea实现的抽屉效果如下:
在这里插入图片描述

思路就是将scrollArea设定为垂直布局,然后加入按钮和widget,当鼠标点击按钮后,隐藏widget,利用垂直布局,做到自然伸缩,然后为什么要使用scrollArea做容器,因为scrollArea可以实现当容器空间不足,出现进度条进行列表滑动,下面一步一步来实现。


首先拖拽一个scrollArea,并拖拽几个按钮和widget放进scrollArea,并将scrollArea设定为垂直布局
在这里插入图片描述
为按钮添加槽,当按钮被点击时,widget执行setVisible(false)函数,widget被隐藏,利用布局自动排列,可以看到widget好像被合起。

bool iswiedet_1=true;

void MainWindow::on_pushButton_5_clicked()
{ if(iswiedet_1==true) { ui->widget_2->setVisible(false); iswiedet_1=false; return; } ui->widget_2->setVisible(true); iswiedet_1=true;
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

到此就,就实现了如下效果:
在这里插入图片描述
现在,我们就可以在对应的widget添加我们需要的控件,但是目前还缺少一种东西,就是当列表铺满窗体,自动出现滑动条,ScrollArea可以帮助我们,将以上控件拖到ScrollArea里面,并将ScrollArea设置垂直布局,并将widgetResizable打勾,这样就是实现完整的抽屉效果。

在这里插入图片描述


文章来源: blog.csdn.net,作者:花狗Fdog,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Fdog_/article/details/108893736

(完)