zoukankan      html  css  js  c++  java
  • Qt布局

    常用的布局方法
    1. 水平布局类 QHBoxLayout
    2. 垂直布局类 QVBoxLayout
    3. 网格布局类 QGridLayout

    QHBoxLayout
    对象横向排列开

    QHBoxLayout

    QVBoxLayout 对象纵向排列开
    向上伸缩

    addStretch

    QWidget *widget = new QWidget();
    QPushButton *button_all = new QPushButton(tr("总情况"));
    QPushButton *button_buy = new QPushButton(tr("入库"));
    QVBoxLayout *layout = new QVBoxLayout();
    layout->addWidget(button_all);
    layout->addWidget(button_buy);
    layout->addStretch(); //伸缩空间
    layout->setMargin(10); //页边距
    layout->setSpacing(10); //控件间隔
    widget->setLayout(layout);

    中间伸缩
    addStretch

    layout->addWidget(button_all);
    layout->addWidget(button_sale);
    layout->addStretch(); //伸缩空间
    layout->addWidget(button_record);

    两边伸缩
    addStretch

    layout->addStretch(); //伸缩空间
    layout->addWidget(button_all);
    layout->addWidget(button_sale);
    layout->addWidget(button_record);
    layout->addStretch(); //伸缩空间

    QGridLayout
    将控件放置到网格中布局,它本身会从父窗口或父布局中占据尽可能多的界面空间,然后把自己的空间划分为行和列,再把每个控件塞到设置好的一个或多个单元格中。通常情况下 QGridLayout不需要自己添加空白条 QSpacerItem,因为其他功能控件把各自的单元格占据之后,剩下没控件占据的单元格自然就是空的,空的格子默认里面什么都没有,也没有空白条

    QGridLayout

    QWidget *widget = new QWidget();
    QPushButton *button_all = new QPushButton(tr("总情况"));
    QPushButton *button_buy = new QPushButton(tr("入库"));
    QGridLayout*layout = new QGridLayout();
    layout->addWidget(button_all, 0, 0);
    layout->addWidget(button_buy, 1, 2);
    widget->setLayout(layout);

    拉伸函数

    QGridLayout::setColumnStretch(列码, 比例值);
    QGridLayout::setRowStretch(行码, 比例值);

    水平 1:2 拉伸
    setColumnStretch

    layout->addWidget(button_all, 0, 0);
    layout->addWidget(button_buy, 0, 1);
    layout->setColumnStretch(0, 1);
    layout->setColumnStretch(1, 2);
  • 相关阅读:
    Eureka集群----SpringCloud 微服务
    Eureka----SpringCloud 微服务
    SpringCloud 微服务
    yml在线格式转换工具(properties)
    Spring与Mybatis三种整合方法
    Spring缓存注解@CachePut , @CacheEvict,@CacheConfig使用
    Spring事务配置的五种方式
    Spring -- <tx:annotation-driven>注解基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)的区别。
    Spring -- <context:component-scan>使用说明
    web.xml执行顺序
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709740.html
Copyright © 2011-2022 走看看