SARibbon 2.5.1
SARibbon wiki
载入中...
搜索中...
未找到
SARibbonCategoryLayout类 参考

The SARibbonCategoryLayout class 更多...

#include <SARibbonCategoryLayout.h>

类 SARibbonCategoryLayout 继承关系图:

class  PrivateData
 The SARibbonCategoryLayoutPrivate class
 

Public 成员函数

 SARibbonCategoryLayout (SARibbonCategory *parent)
 
SARibbonCategoryribbonCategory () const
 
virtual void addItem (QLayoutItem *item) override
 
virtual QLayoutItem * itemAt (int index) const override
 返回panel的layout
 
virtual QLayoutItem * takeAt (int index) override
 提取layout
 
SARibbonCategoryLayoutItemtakePanelItem (int index)
 
SARibbonCategoryLayoutItemtakePanelItem (SARibbonPanel *panel)
 
bool takePanel (SARibbonPanel *panel)
 移除panel,对应的分割线也会删除
 
virtual int count () const override
 
void setGeometry (const QRect &rect) override
 
QSize sizeHint () const override
 
QSize minimumSize () const override
 
Qt::Orientations expandingDirections () const override
 SARibbonCategory充满整个stacked widget
 
void invalidate () override
 
void addPanel (SARibbonPanel *panel)
 
void insertPanel (int index, SARibbonPanel *panel)
 插入一个panel
 
QSize categoryContentSize () const
 category的内容尺寸(把margins减去)
 
void updateGeometryArr ()
 更新尺寸
 
void doLayout ()
 执行layout调整
 
QList< SARibbonPanel * > panels () const
 返回所有panels
 
SARibbonPanelpanelByObjectName (const QString &objname) const
 通过ObjectName查找panel
 
SARibbonPanelpanelByName (const QString &panelname) const
 通过名字查找panel
 
SARibbonPanelpanelByIndex (int i) const
 通过索引找到panel,如果超过索引范围,会返回nullptr
 
void movePanel (int from, int to)
 移动panel
 
int panelCount () const
 返回panel的个数
 
int panelIndex (SARibbonPanel *p) const
 查找panel对应的索引
 
QList< SARibbonPanel * > panelList () const
 获取所有的panel
 
void scroll (int px)
 执行滚动
 
void scrollTo (int targetX)
 滚动到指定位置
 
void scrollByAnimate (int px)
 带动画的滚动
 
void scrollToByAnimate (int targetX)
 滚动到指定位置,带动画
 
int scrollPosition () const
 滚动后的位置
 
void setScrollPosition (int pos)
 设置滚动位置
 
bool isAnimatingScroll () const
 判断是否在滚动动画中
 
bool isScrolled () const
 判断是否滚动过
 
int categoryTotalWidth () const
 这个宽度是实际内容的宽度,有可能大于size.width,也有可能小于
 
void setCategoryAlignment (SARibbonAlignment al)
 设置Category的对齐方式
 
SARibbonAlignment categoryAlignment () const
 Category的对齐方式
 
void setAnimationDuration (int duration)
 设置动画的持续时间
 
int animationDuration () const
 动画的持续时间,默认300ms
 

属性

int scrollPosition
 

详细描述

成员函数说明

◆ animationDuration()

int SARibbonCategoryLayout::animationDuration ( ) const

动画的持续时间,默认300ms

返回
如果没有设置动画,返回-1

◆ categoryAlignment()

SARibbonAlignment SARibbonCategoryLayout::categoryAlignment ( ) const

Category的对齐方式

返回

◆ categoryContentSize()

QSize SARibbonCategoryLayout::categoryContentSize ( ) const

category的内容尺寸(把margins减去)

返回

◆ categoryTotalWidth()

int SARibbonCategoryLayout::categoryTotalWidth ( ) const

这个宽度是实际内容的宽度,有可能大于size.width,也有可能小于

返回

◆ doLayout()

void SARibbonCategoryLayout::doLayout ( )

执行layout调整

这里不能用item->setGeometry(item->mWillSetGeometry);这样会得到一个很奇怪的显示效果 就是窗口的最左边不会移出去,而是把最右边压缩,

◆ expandingDirections()

Qt::Orientations SARibbonCategoryLayout::expandingDirections ( ) const
override

SARibbonCategory充满整个stacked widget

返回

◆ insertPanel()

void SARibbonCategoryLayout::insertPanel ( int  index,
SARibbonPanel panel 
)

插入一个panel

参数
index索引
panel
返回
返回对应的分割线SARibbonSeparatorWidget
注解
在SARibbonCategoryLayout的布局中,一个panel会携带一个分割线

◆ isAnimatingScroll()

bool SARibbonCategoryLayout::isAnimatingScroll ( ) const

判断是否在滚动动画中

返回

◆ isScrolled()

bool SARibbonCategoryLayout::isScrolled ( ) const

判断是否滚动过

返回

◆ itemAt()

QLayoutItem * SARibbonCategoryLayout::itemAt ( int  index) const
overridevirtual

返回panel的layout

参数
index索引
返回
注解
注意,panel是和分割线一起的,但这个只返回一个panel对应的layout

◆ movePanel()

void SARibbonCategoryLayout::movePanel ( int  from,
int  to 
)

移动panel

参数
from
to

◆ panelByIndex()

SARibbonPanel * SARibbonCategoryLayout::panelByIndex ( int  i) const

通过索引找到panel,如果超过索引范围,会返回nullptr

参数
i
返回

◆ panelByName()

SARibbonPanel * SARibbonCategoryLayout::panelByName ( const QString &  panelname) const

通过名字查找panel

参数
title
返回
如果有重名,只会返回第一个符合条件的

◆ panelByObjectName()

SARibbonPanel * SARibbonCategoryLayout::panelByObjectName ( const QString &  objname) const

通过ObjectName查找panel

参数
objname
返回

◆ panelCount()

int SARibbonCategoryLayout::panelCount ( ) const

返回panel的个数

返回

◆ panelIndex()

int SARibbonCategoryLayout::panelIndex ( SARibbonPanel p) const

查找panel对应的索引

参数
p
返回
如果找不到,返回-1

◆ panelList()

QList< SARibbonPanel * > SARibbonCategoryLayout::panelList ( ) const

获取所有的panel

返回

◆ panels()

QList< SARibbonPanel * > SARibbonCategoryLayout::panels ( ) const

返回所有panels

返回

◆ scroll()

void SARibbonCategoryLayout::scroll ( int  px)

执行滚动

参数
px

◆ scrollByAnimate()

void SARibbonCategoryLayout::scrollByAnimate ( int  px)

带动画的滚动

参数
px

◆ scrollPosition()

int SARibbonCategoryLayout::scrollPosition ( ) const

滚动后的位置

返回

◆ scrollTo()

void SARibbonCategoryLayout::scrollTo ( int  targetX)

滚动到指定位置

参数
targetX

◆ scrollToByAnimate()

void SARibbonCategoryLayout::scrollToByAnimate ( int  targetX)

滚动到指定位置,带动画

参数
px

◆ setAnimationDuration()

void SARibbonCategoryLayout::setAnimationDuration ( int  duration)

设置动画的持续时间

参数
duration毫秒

◆ setCategoryAlignment()

void SARibbonCategoryLayout::setCategoryAlignment ( SARibbonAlignment  al)

设置Category的对齐方式

居中对齐会让panel以居中进行对齐

参数
al

◆ setScrollPosition()

void SARibbonCategoryLayout::setScrollPosition ( int  pos)

设置滚动位置

参数
px

◆ takeAt()

QLayoutItem * SARibbonCategoryLayout::takeAt ( int  index)
overridevirtual

提取layout

参数
index
返回

◆ takePanel()

bool SARibbonCategoryLayout::takePanel ( SARibbonPanel panel)

移除panel,对应的分割线也会删除

参数
panel
返回

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