利用布局,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