• QT布局管理器(QVBoxLayout,QHBoxLayout)不同部分比例大小设置方法


     QT布局管理器(QVBoxLayout,QHBoxLayout)不同部分比例大小设置方法

        默认情况如果将多个控件加入到QT的布局管理器中(QVBoxLayout、QHBoxLayout)所有控件占用的宽度/高度是等比例大小的。然后,在实际应用和开发中往往希望在同一个布局管理器中,根据控件实际显示内容的多少或大小其相应的比例是不相同的。之前试了很多种方法都不行,偶尔一次发现了原来QT提供了布局管理器设置不同部分比例大小的方法。

        bool QBoxLayout::setStretchFactor(QWidget * widget, int stretch)

        bool QBoxLayout::setStretchFactor(QLayout * layout, int stretch)

        注:重载函数,因为布局管理器中可以添加Widget和其他的Layout

        例子:

        QVBoxLayout*  layout = new QVBoxLayout;

        QPushButton*      btn = new QPushButton;

        QTableWidget*     tableWidget = new QTableWidget;

        QHBoxLayout*     h_layout = new QHBoxLayout;

        layout.addWidget(btn);

        layout.addWidget(tableWidget);

        layout.addLayout(h_layout)

       layout->setStretchFactor(btn, 1);
       layout->setStretchFactor(tableWidget, 2);
       layout->setStretchFactor(h_layout, 2);
       调用setStretchFactor函数后,三个控件的比例分别为:1:2:2

  • 相关阅读:
    Vue自定义过滤器格式化数字三位加一逗号
    js复制功能
    vue中数据接收成功,页面渲染失败
    css技巧
    vue+elementUI table篇
    图片预加载
    jquery实现文字自动向上滚动,鼠标放上去停止,移开继续滚动代码...
    【Flutter】广播机制
    【Flutter】IOS打包
    【Flutter】BottomNavigationBar切换页面被重置问题(保存状态)
  • 原文地址:https://www.cnblogs.com/zhoug2020/p/16395996.html
Copyright © 2020-2023  润新知