TpFlexLayout 类
V0.2.1TpGUIWidgets
2025-11-14
介绍
响应式布局,会根据窗口宽高,自动调整一行/列显示控件数量,不会修改控件大小,但控件必须设置大小,如果大小为0则不可见
继承关系
基础信息
| 头文件: | include <TpFlexLayout.h> |
|---|---|
| Cmake: | None |
| 发布版本: | V0.2.1 |
| 继承类: | TpLayout |
| 派生类: |
Public 类型
enum TpFlexLayout::FlexDirection
| 名称 | 值 | 描述 |
|---|---|---|
| Row | 0 | |
| RowReverse | 1 | |
| Column | 2 | |
| ColumnReverse | 3 |
enum TpFlexLayout::JustifyContent
| 名称 | 值 | 描述 |
|---|---|---|
| MainFlexStart | 0 | |
| MainFlexEnd | 1 | |
| MainCenter | 2 | |
| MainSpaceBetween | 3 | |
| MainSpaceEvenly | 4 | |
| MainSpaceAround | 5 |
enum TpFlexLayout::AlignItems
| 名称 | 值 | 描述 |
|---|---|---|
| CrossFlexStart | 0 | |
| CrossFlexEnd | 1 | |
| CrossCenter | 2 |
enum TpFlexLayout::AlignContent
| 名称 | 值 | 描述 |
|---|---|---|
| Stretch | 0 | |
| FlexStart | 1 | |
| FlexEnd | 2 | |
| Center | 3 | |
| SpaceBetween | 4 | |
| SpaceEvenly | 5 | |
| SpaceAround | 6 |
Public 成员函数
| TpFlexLayout(TpWidget *parent=nullptr) | ||
|---|---|---|
| ~TpFlexLayout() | ||
| addWidget(TpWidget *childWidget) | 向布局内添加窗口 | |
| addLayout(TpLayout *layout) | 向布局内添加布局 | |
| insertWidget(uint32_t index, TpWidget *widget) | 插入一个窗口 | |
| insertLayout(uint32_t index, TpLayout *layout) | 插入一个布局 | |
| removeWidget(TpWidget *widget) override | 从布局移除一个指定widget,不会释放指针 | |
| removeLayout(TpLayout *layout) override | 从布局移除一个子布局,不会释放指针 | |
| setFlexDirection(const FlexDirection &direction) | 设置布局方向 | |
| setJustifyContent(const JustifyContent &justify) | 设置主轴对齐方式 | |
| setAlignItems(const AlignItems &alignItems) | 设置交叉轴对齐方式 | |
| setAlignContent(const AlignContent &alignContent) | 设置多行交叉轴对齐方式,注意设置后会覆盖交叉轴对齐样式 | |
| update() override | 布局更新 | |
| rowCount() override | 获取布局当前行数 | |
| columnCount() override | 获取布局当前列数 | |
| clear() override | 清空布局内所有子部件;使用children获取item后移除后再clear | |
| virtual TpVector< TpObject * > | children() override | 获取子控件列表 |
成员函数说明
TpFlexLayout::TpFlexLayout(TpWidget *parent=nullptr)
暂无注释...
virtual TpFlexLayout::~TpFlexLayout()
暂无注释...
void TpFlexLayout::addWidget(TpWidget *childWidget)
向布局内添加窗口...
向布局内添加窗口
参数:childWidget: 窗口指针
void TpFlexLayout::addLayout(TpLayout *layout)
向布局内添加布局...
向布局内添加布局
参数:layout: 布局指针
void TpFlexLayout::insertWidget(uint32_t index, TpWidget *widget)
插入一个窗口...
插入一个窗口
参数:index: 插入索引,从0开始
参数:widget: 窗口指针
void TpFlexLayout::insertLayout(uint32_t index, TpLayout *layout)
插入一个布局...
插入一个布局
参数:index: 插入索引,从0开始
参数:layout: 布局指针
virtual void TpFlexLayout::removeWidget(TpWidget *widget) override
从布局移除一个指定widget,不会释放指针...
从布局移除一个指定widget,不会释放指针
参数:widget: widget指针
virtual void TpFlexLayout::removeLayout(TpLayout *layout) override
从布局移除一个子布局,不会释放指针...
从布局移除一个子布局,不会释放指针
参数:layout: 布局指针
void TpFlexLayout::setFlexDirection(const FlexDirection &direction)
设置布局方向...
设置布局方向
参数:direction: 方向枚举
void TpFlexLayout::setJustifyContent(const JustifyContent &justify)
设置主轴对齐方式...
设置主轴对齐方式
参数:justify: 主轴对齐方式
void TpFlexLayout::setAlignItems(const AlignItems &alignItems)
设置交叉轴对齐方式...
设置交叉轴对齐方式
参数:alignItems: 对齐方式
void TpFlexLayout::setAlignContent(const AlignContent &alignContent)
设置多行交叉轴对齐方式,注意设置后会覆盖交叉轴对齐样式...
设置多行交叉轴对齐方式,注意设置后会覆盖交叉轴对齐样式
参数:alignContent: 交叉轴对齐方式
virtual void TpFlexLayout::update() override
布局更新...
布局更新
virtual uint32_t TpFlexLayout::rowCount() override
获取布局当前行数...
获取布局当前行数
返回值:布局行数
virtual uint32_t TpFlexLayout::columnCount() override
获取布局当前列数...
获取布局当前列数
返回值:布局列数
virtual void TpFlexLayout::clear() override
清空布局内所有子部件;使用children获取item后移除...
清空布局内所有子部件;使用children获取item后移除后再clear
virtual TpVector< TpObject * > TpFlexLayout::children() override
获取子控件列表...
获取子控件列表
返回值:控件指针列表
