tpFlexLayout类
SingleGUI
2025-07-05
介绍
响应式布局,会根据窗口宽高,自动调整一行/列显示控件数量,不会修改控件大小,但控件必须设置大小,如果大小为0则不可见
继承关系
基础信息
头文件: | include <tpFlexLayout.h> |
---|---|
Cmake: | None |
发布版本: | V0.1.0 |
继承类: | 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)
点击查看...
向布局内添加窗口
void tpFlexLayout::addLayout(tpLayout *layout)
点击查看...
向布局内添加布局
void tpFlexLayout::insertWidget(uint32_t index, tpChildWidget *widget)
点击查看...
插入一个窗口
void tpFlexLayout::insertLayout(uint32_t index, tpLayout *layout)
点击查看...
插入一个布局
virtual
void tpFlexLayout::removeWidget(tpChildWidget *widget) override
点击查看...
从布局移除一个指定widget,不会释放指针
virtual
void tpFlexLayout::removeLayout(tpLayout *layout) override
点击查看...
从布局移除一个子布局,不会释放指针
void tpFlexLayout::setFlexDirection(const FlexDirection &direction)
点击查看...
设置布局方向
void tpFlexLayout::setJustifyContent(const JustifyContent &justify)
点击查看...
设置主轴对齐方式
void tpFlexLayout::setAlignItems(const AlignItems &alignItems)
点击查看...
设置交叉轴对齐方式
void tpFlexLayout::setAlignContent(const 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
点击查看...
获取子控件列表
返回值:
控件指针列表