布局管理器

本文介绍了Qt中的布局管理器,包括QBoxLayout的垂直和水平布局,QGridLayout的表格布局,QFormLayout的表单布局,以及用于页面切换的QStackedLayout。QSpacerItem则用于创建空白区域,帮助优化布局。
摘要由CSDN通过智能技术生成

布局管理器

布局管理器,有方向,间距,addwidget

描述
QBoxLayout 水平或垂直排列控件的基类
QButtonGroup 组织按钮的容器
QFormLayout 管理输入控件和其相关的标签
QGraphicsAnchor 表示在QGraphicsAnchorLayout中两个项目之间的锚
QGraphicsAnchorLayout 在图形视图中可以将锚连接到一起
QGridLayout 网格布局(多行多列)
QGroupBox 带标题的分组框
QHBoxLayout 水平排列控件
QLayout 几何管理器的基类
QLayoutItem 抽象的操作布局Item
QSizePolicy 描述水平和垂直大小调整的策略
QSpacerItem 布局中的空间隔
QStackedLayout 切换控件,同一时间只有一个控件可见
QStackedWidget 切换控件,同一时间只有一个控件可见
QVBoxLayout 垂直排列控件
QWidgetItem 表示一个控件的布局项
布局例子
QBoxLayout/QVBoxLayout/QHBoxlayout

拥有QHBoxLayout和QVBoxLayout

  • set
函数 描述
QBoxLayout(QBoxLayout::Direction dir, QWidget *parent = nullptr) 构造函数
virtual ~QBoxLayout() 析构函数
void addLayout(QLayout *layout, int stretch = 0) 添加
void addSpacerItem(QSpacerItem *spacerItem) 添加spaceitem
void addSpacing(int size) 间距
void addStretch(int stretch = 0) 可以让其居左或者居右或者居中,看例子
void addStrut(int size)
void addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = …) 对齐方式
QBoxLayout::Direction direction() const 方向
void insertItem(int index, QLayoutItem *item) 插入
void insertLayout(int index, QLayout *layout, int stretch = 0) 插入
void insertSpacerItem(int index, QSpacerItem *spacerItem)
void insertSpacing(int index, int size)
void insertStretch(int index, int stretch = 0)
void insertWidget(int index, QWidget *widget, int stretch = 0, Qt::Alignment alignment = …)
void setDirection(QBoxLayout::Direction direction) 设置方向
void setSpacing(int spacing) 设置空格
void setStretch(int index, int stretch) 设置长度
bool setStretchFactor(QWidget *widget, int stretch) 可以进行伸缩
bool setStretchFactor(QLayout *layout, int stretch)
int spacing() const 返回间距
int stretch(int index) const 返回长度

这里写图片描述

/*
 * hbox and vbox 是box确定方向之后的产物,没啥特殊
 * box 属性有间距addspace,空白补齐addstrlen,以及方向direction
 * 他的函数也全部用来操作上面的属性
*/
mywidget::mywidget()
{
    setWindowTitle("my widget test");
    QHBoxLayout *layout=new QHBoxLayout(this);

    //垂直的布局
    QWidget *pvwidget=new QWidget(this);
    QBoxLayout *pvlayout=new QBoxLayout(QBoxLayout::BottomToTop,pvwidget);            //布局管理器
    for(int i=0;i<5;i++)
    {
        QPushButton *ppushbutton=new QPushButton("vertical"+QString::number(i+1,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值