zoukankan      html  css  js  c++  java
  • qt界面布局笔记之控件垂直布局

    概述

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

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

    一、QScrollArea

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

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

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

    二、QTableWidget

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

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

    三、自己定义实现逻辑

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

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

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

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

    总结:

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

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

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

  • 相关阅读:
    服务器端口
    Format(const wchar_t *,...)”: 不能将参数 1 从“const char [3]”转换为“const wchar_t *”.
    图片格式
    CreateEx
    电力谐波
    [OGeek2019]babyrop
    Simple Inject
    [GXYCTF2019]BabySQli
    [CISCN2019 华北赛区 Day2 Web1]Hack World
    极客大挑战2019
  • 原文地址:https://www.cnblogs.com/tianmochou/p/13957267.html
Copyright © 2011-2022 走看看