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);
  • 相关阅读:
    AngularJS指令的详解
    Linux(Ubuntu)下如何安装JDK
    Hibernate的三种状态
    JS是按值传递还是按引用传递
    git分支管理
    Hibernate注解映射联合主键的三种主要方式
    Linux下解决用户不能执行sudo的方法
    【GStreamer开发】GStreamer基础教程03——动态pipeline
    【GStreamer开发】GStreamer基础教程02——GStreamer概念
    【GStreamer开发】GStreamer基础教程02——GStreamer概念
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709740.html
Copyright © 2011-2022 走看看