TpFlexLayout 类
V0.1.1SingleGUIwidgets
2025-09-17
介绍
响应式布局,会根据窗口宽高,自动调整一行/列显示控件数量,不会修改控件大小,但控件必须设置大小,如果大小为0则不可见
继承关系
基础信息
头文件: | include <TpFlexLayout.h> |
---|---|
Cmake: | None |
发布版本: | V0.1.1 |
继承类: | TpLayout |
派生类: |
Public 类型
enum FlexDirection {
Row, RowReverse, Column,
ColumnReverse
}
enum JustifyContent {
MainFlexStart, MainFlexEnd, MainCenter,
MainSpaceBetween, MainSpaceEvenly, MainSpaceAround
}
enum AlignItems {
CrossFlexStart, CrossFlexEnd, CrossCenter
}
enum AlignContent {
Stretch, FlexStart, FlexEnd,
Center, SpaceBetween, SpaceEvenly,
SpaceAround
}
Public 成员函数
TpFlexLayout(TpChildWidget *parent=nullptr) | ||
---|---|---|
~TpFlexLayout() | ||
addWidget(TpChildWidget *childWidget) | 向布局内添加窗口 | |
addLayout(TpLayout *layout) | 向布局内添加布局 | |
insertWidget(uint32_t index, TpChildWidget *widget) | 插入一个窗口 | |
insertLayout(uint32_t index, TpLayout *layout) | 插入一个布局 | |
removeWidget(TpChildWidget *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 | 获取子控件列表 |
成员枚举类型说明
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 |
成员函数说明
TpFlexLayout::TpFlexLayout(TpChildWidget *parent=nullptr)
暂无注释...
virtual
TpFlexLayout::~TpFlexLayout()
暂无注释...
void TpFlexLayout::addWidget(TpChildWidget *childWidget)
点击查看...
向布局内添加窗口
参数:
childWidget: 窗口指针
void TpFlexLayout::addLayout(TpLayout *layout)
点击查看...
向布局内添加布局
参数:
layout: 布局指针
void TpFlexLayout::insertWidget(uint32_t index, TpChildWidget *widget)
点击查看...
插入一个窗口
参数:
index: 插入索引,从0开始
参数:
widget: 窗口指针
void TpFlexLayout::insertLayout(uint32_t index, TpLayout *layout)
点击查看...
插入一个布局
参数:
index: 插入索引,从0开始
参数:
layout: 布局指针
virtual
void TpFlexLayout::removeWidget(TpChildWidget *widget) override
点击查看...
从布局移除一个指定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后移除后再clear
virtual
TpVector< TpObject * > TpFlexLayout::children() override
点击查看...
获取子控件列表
返回值:
控件指针列表