SARibbon 2.2.3
SARibbon wiki
载入中...
搜索中...
未找到
SARibbonPannelLayout类 参考

针对SARibbonPannel的布局 更多...

#include <SARibbonPannelLayout.h>

类 SARibbonPannelLayout 继承关系图:

Public 成员函数

 SARibbonPannelLayout (QWidget *p=0)
 
void addItem (QLayoutItem *item) Q_DECL_OVERRIDE
 
QLayoutItem * itemAt (int index) const Q_DECL_OVERRIDE
 
QLayoutItem * takeAt (int index) Q_DECL_OVERRIDE
 
int count () const Q_DECL_OVERRIDE
 
bool isEmpty () const Q_DECL_OVERRIDE
 
void invalidate () Q_DECL_OVERRIDE
 
Qt::Orientations expandingDirections () const Q_DECL_OVERRIDE
 
void setGeometry (const QRect &rect) Q_DECL_OVERRIDE
 
QSize minimumSize () const Q_DECL_OVERRIDE
 
QSize sizeHint () const Q_DECL_OVERRIDE
 
SARibbonPannelribbonPannel () const
 获取ribbonpannel
 
void insertAction (int index, QAction *act, SARibbonPannelItem::RowProportion rp=SARibbonPannelItem::None)
 SARibbonPannel主要通过此函数来添加action
 
void setOptionAction (QAction *action)
 添加操作action,如果要去除,传入nullptr指针即可,SARibbonPannel不会对QAction的所有权进行管理
 
bool isHaveOptionAction () const
 判断是否存在OptionAction
 
SARibbonPannelItempannelItem (QAction *action) const
 通过action获取SARibbonPannelItem
 
SARibbonPannelItemlastItem () const
 获取最后一个添加的item
 
QWidget * lastWidget () const
 获取最后生成的窗口
 
void move (int from, int to)
 移动两个item
 
bool isDirty () const
 判断是否需要重新布局
 
void updateGeomArray ()
 
int indexByAction (QAction *action) const
 通过action查找索引,用于actionEvent添加action用
 
int pannelTitleHeight () const
 标题高度
 
void setPannelTitleHeight (int newTitleHeight)
 设置标题高度
 
bool isEnableShowPannelTitle () const
 判断是否存在标题
 
void setEnableShowPannelTitle (bool on)
 设置显示标题
 
int largeButtonHeight () const
 大按钮的高度
 
int pannelTitleSpace () const
 标题区域和按钮的间隔
 
void setPannelTitleSpace (int newTitleSpace)
 设置标题区域和按钮的间隔
 
SARibbonPannelLabelpannelTitleLabel () const
 
void setToolButtonIconSize (const QSize &s)
 
QSize toolButtonIconSize () const
 

Protected 成员函数

QSize optionActionButtonSize () const
 获取optionAction 按钮尺寸
 
void doLayout ()
 布局所有action
 
SARibbonPannelItemcreateItem (QAction *action, SARibbonPannelItem::RowProportion rp=SARibbonPannelItem::None)
 把action转换为item
 
void updateGeomArray (const QRect &setrect)
 更新尺寸
 
void recalcExpandGeomArray (const QRect &setrect)
 

友元

class SARibbonPannel
 

详细描述

针对SARibbonPannel的布局

SARibbonPannelLayout实际是一个列布局,每一列有2~3行,看窗口定占几行

核心函数: SARibbonPannelLayout::createItem

注解
QLayout::contentsMargins 函数不会启作用,如果要设置contentsMargins,使用
参见
setPannelContentsMargins

成员函数说明

◆ createItem()

SARibbonPannelItem * SARibbonPannelLayout::createItem ( QAction * action,
SARibbonPannelItem::RowProportion rp = SARibbonPannelItem::None )
protected

把action转换为item

此函数参考QToolBarItem *QToolBarLayout::createItem(QAction *action)

对于普通QAction,此函数会创建SARibbonToolButton,SARibbonToolButton的类型参考SARibbonPannelItem::RowProportion,

参数
action
rp行高占比情况
返回
转换的SARibbonPannelItem
注解
每个SARibbonPannelItem最终都会携带一个widget,传入的是QWidgetAction的话,会直接使用QWidgetAction带的widget, 否则会内部生成一个SARibbonToolButton

◆ indexByAction()

int SARibbonPannelLayout::indexByAction ( QAction * action) const

通过action查找索引,用于actionEvent添加action用

参数
action
返回
没有查到返回-1

◆ insertAction()

void SARibbonPannelLayout::insertAction ( int index,
QAction * act,
SARibbonPannelItem::RowProportion rp = SARibbonPannelItem::None )

SARibbonPannel主要通过此函数来添加action

参数
act
rp布局策略

◆ isDirty()

bool SARibbonPannelLayout::isDirty ( ) const

判断是否需要重新布局

返回

◆ isEnableShowPannelTitle()

bool SARibbonPannelLayout::isEnableShowPannelTitle ( ) const

判断是否存在标题

返回

◆ isHaveOptionAction()

bool SARibbonPannelLayout::isHaveOptionAction ( ) const

判断是否存在OptionAction

返回
存在返回true

◆ largeButtonHeight()

int SARibbonPannelLayout::largeButtonHeight ( ) const

大按钮的高度

返回

◆ lastItem()

SARibbonPannelItem * SARibbonPannelLayout::lastItem ( ) const

获取最后一个添加的item

返回
如果没有返回nullptr

◆ lastWidget()

QWidget * SARibbonPannelLayout::lastWidget ( ) const

获取最后生成的窗口

返回
如果无窗口或者item为空,返回nullptr

◆ move()

void SARibbonPannelLayout::move ( int from,
int to )

移动两个item

参数
from
to
注解
移动完后所有都失效,需要重新布局

◆ optionActionButtonSize()

QSize SARibbonPannelLayout::optionActionButtonSize ( ) const
protected

获取optionAction 按钮尺寸

返回

◆ pannelItem()

SARibbonPannelItem * SARibbonPannelLayout::pannelItem ( QAction * action) const

通过action获取SARibbonPannelItem

参数
action
返回
如果没有返回nullptr

◆ pannelTitleHeight()

int SARibbonPannelLayout::pannelTitleHeight ( ) const

标题高度

返回

◆ pannelTitleSpace()

int SARibbonPannelLayout::pannelTitleSpace ( ) const

标题区域和按钮的间隔

返回

◆ recalcExpandGeomArray()

void SARibbonPannelLayout::recalcExpandGeomArray ( const QRect & setrect)
protected

< 原来的列宽

< 列的最大宽度

< 扩展后列的宽度

◆ ribbonPannel()

SARibbonPannel * SARibbonPannelLayout::ribbonPannel ( ) const

获取ribbonpannel

返回

◆ setEnableShowPannelTitle()

void SARibbonPannelLayout::setEnableShowPannelTitle ( bool on)

设置显示标题

参数
on

◆ setOptionAction()

void SARibbonPannelLayout::setOptionAction ( QAction * action)

添加操作action,如果要去除,传入nullptr指针即可,SARibbonPannel不会对QAction的所有权进行管理

参数
action
注解
要去除OptionAction直接传入nullptr即可
SARibbonPannel不对QAction的destroy进行关联,如果外部对action进行delete,需要先传入nullptr给addOptionAction

◆ setPannelTitleHeight()

void SARibbonPannelLayout::setPannelTitleHeight ( int newTitleHeight)

设置标题高度

参数
newTitleHeight

◆ setPannelTitleSpace()

void SARibbonPannelLayout::setPannelTitleSpace ( int newTitleSpace)

设置标题区域和按钮的间隔

参数
newTitleSpace

该类的文档由以下文件生成: