qt界面布局笔记之控件垂直布局

概述

关于控件的垂直布局,如果多个控件垂直布局控件很多的情况下,势必显示不全。

肯定要出现滚动条,选择什么样的容器控件来提供滚动条比较好呢。

一、QScrollArea

可以使用这个容器添加控件,当控件超出容器范文时,会自动出现滚动条

从效率方面考虑不适用场景是,如果垂直排列的控件非常多成百上千个,然而这些控件的排列,将会很好内存,每个控件都需要

提前new出来,虽然我们可能一次看到的控件不过7到8个这样是比较影响性能的,尤其是这些控件如果会定时刷新,那将是很不适合使用的了。

二、QTableWidget

这个控件也可以自动出现滚动条当行数超出一定范围的时候

但是QScrollArea不适用的场景这个控件也不适用。控件特别多,如果再是定时刷新的情况下,就不适用了。

三、自己定义实现逻辑

自己定义实现这种方式当控件很多的情况下,不是出现滚动条,而是加个翻页按钮,能实现上下翻页

基本思路就是:界面上布局定死控件个数,比如显示六个。然而当要显示的控件很多很多时,先把控件数据现在到内存

,其实界面始终只有六个控件,因为new控件是相当耗资源的,尤其是控件相当多的时候

这样每次切换页的时候,只要获取的对应的控件(早已经设置好的控件)然后改变其数据就可以了。

总结:

QScrollArea、QTableWidget适用于数据量比较小,展示界面的控件个数有限,不会太多的情况,如果数据量很大、如果需要定时刷新建议使用自定义的形式

,自定义形式的缺点就是不会有滚动条,而是添加换页按钮。具体如何使用要综合考量自己的业务场景,从效率,方便性、内存占用等方面综合考量。

 

初始化的时候把需要的控件都加载出来,根据后台数据来确定控件显示隐藏可用和不可用,控件的数量是固定死的,也只在界面展示的时候new一次。

posted @ 2020-11-11 10:10  beautifulday  阅读(1077)  评论(0编辑  收藏  举报