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

一项ribbon tab页 更多...

#include <SARibbonCategory.h>

类 SARibbonCategory 继承关系图:

class  PrivateData
 ribbon页的代理类 如果需要修改重绘SARibbonCategory,可以通过设置SARibbonCategory::setProxy 更多...
 

Public 类型

using FpPannelIterate = std::function< bool(SARibbonPannel*) >
 

信号

void categoryNameChanged (const QString &n)
 category标题发生了改变信号
 
void actionTriggered (QAction *action)
 参考QToolBar::actionTriggered的信号
 

Public 成员函数

 SARibbonCategory (QWidget *p=nullptr)
 
 SARibbonCategory (const QString &name, QWidget *p=nullptr)
 
QString categoryName () const
 category的名字,等同windowTitle函数
 
void setCategoryName (const QString &title)
 设置category名字,等同setWindowTitle
 
SARibbonPannel::PannelLayoutMode pannelLayoutMode () const
 pannel的模式
 
void setPannelLayoutMode (SARibbonPannel::PannelLayoutMode m)
 设置pannel的模式
 
SARibbonPanneladdPannel (const QString &title)
 添加pannel
 
void addPannel (SARibbonPannel *pannel)
 添加pannel
 
Q_INVOKABLE void addPannel (QWidget *pannel)
 qt designer专用
 
SARibbonPannelinsertPannel (const QString &title, int index)
 新建一个pannel,并插入到index位置
 
SARibbonPannelpannelByName (const QString &title) const
 通过名字查找pannel
 
SARibbonPannelpannelByObjectName (const QString &objname) const
 通过ObjectName查找pannel
 
SARibbonPannelpannelByIndex (int index) const
 通过索引找到pannel,如果超过索引范围,会返回nullptr
 
int pannelIndex (SARibbonPannel *p) const
 查找pannel对应的索引
 
void movePannel (int from, int to)
 移动一个Pannel从from index到to index
 
bool takePannel (SARibbonPannel *pannel)
 把pannel脱离SARibbonCategory的管理
 
bool removePannel (SARibbonPannel *pannel)
 移除Pannel,Category会直接回收SARibbonPannel内存
 
bool removePannel (int index)
 移除pannel
 
QList< SARibbonPannel * > pannelList () const
 返回Category下的所有pannel
 
QSize sizeHint () const Q_DECL_OVERRIDE
 
bool isContextCategory () const
 如果是ContextCategory,此函数返回true
 
int pannelCount () const
 返回pannel的个数
 
bool isCanCustomize () const
 判断是否可以自定义
 
void setCanCustomize (bool b)
 设置是否可以自定义
 
int pannelTitleHeight () const
 pannel标题栏的高度
 
void setPannelTitleHeight (int h)
 设置pannel的高度
 
bool isEnableShowPannelTitle () const
 是否pannel显示标题栏
 
void setEnableShowPannelTitle (bool on)
 设置显示pannel标题
 
void setCategoryAlignment (SARibbonAlignment al)
 设置Category的对齐方式
 
SARibbonAlignment categoryAlignment () const
 Category的对齐方式
 
void setPannelSpacing (int n)
 设置pannel的spacing
 
int pannelSpacing () const
 pannel的spacing
 
void setPannelToolButtonIconSize (const QSize &s)
 设置pannel按钮的icon尺寸,large action不受此尺寸影响
 
QSize pannelToolButtonIconSize () const
 pannel按钮的icon尺寸,large action不受此尺寸影响
 
SARibbonBarribbonBar () const
 获取对应的ribbonbar
 
void updateItemGeometry ()
 刷新category的布局,适用于改变ribbon的模式之后调用
 
bool iterate (FpPannelIterate fp)
 此函数会遍历Category下的所有pannel,执行函数指针
 

Protected 成员函数

virtual bool event (QEvent *e) Q_DECL_OVERRIDE
 
void wheelEvent (QWheelEvent *event) Q_DECL_OVERRIDE
 在超出边界情况下,滚轮可滚动pannel
 
void changeEvent (QEvent *event) Q_DECL_OVERRIDE
 
void markIsContextCategory (bool isContextCategory=true)
 标记这个是上下文标签
 
SARibbonCategoryLayoutcategoryLayout () const
 获取SARibbonCategoryLayoutlayout
 

属性

bool isCanCustomize
 
QString categoryName
 

友元

class SARibbonBar
 
class SARibbonContextCategory
 

详细描述

一项ribbon tab页

注解
SARibbonCategory的windowTitle影响了其在SARibbonBar的标签显示, 如果要改标签名字,直接调用SARibbonCategory的setWindowTitle函数

成员函数说明

◆ actionTriggered

void SARibbonCategory::actionTriggered ( QAction * action)
signal

参考QToolBar::actionTriggered的信号

参数
action

◆ addPannel() [1/3]

SARibbonPannel * SARibbonCategory::addPannel ( const QString & title)

添加pannel

注解
pannel的所有权由SARibbonCategory来管理,请不要在外部对其进行销毁
参数
titlepannel的标题,在office/wps的三行模式下会显示在pannel的下方
返回
返回生成的SARibbonPannel 指针
参见
对SARibbonPannel的其他操作,参考 SARibbonCategory::takePannel

◆ addPannel() [2/3]

void SARibbonCategory::addPannel ( QWidget * pannel)

qt designer专用

参数
pannel

◆ addPannel() [3/3]

void SARibbonCategory::addPannel ( SARibbonPannel * pannel)

添加pannel

参数
pannelpannel的所有权SARibbonCategory来管理

◆ categoryAlignment()

SARibbonAlignment SARibbonCategory::categoryAlignment ( ) const

Category的对齐方式

返回

◆ categoryLayout()

SARibbonCategoryLayout * SARibbonCategory::categoryLayout ( ) const
protected

获取SARibbonCategoryLayoutlayout

返回

◆ categoryName()

QString SARibbonCategory::categoryName ( ) const

category的名字,等同windowTitle函数

返回

◆ categoryNameChanged

void SARibbonCategory::categoryNameChanged ( const QString & n)
signal

category标题发生了改变信号

参数
n

◆ insertPannel()

SARibbonPannel * SARibbonCategory::insertPannel ( const QString & title,
int index )

新建一个pannel,并插入到index位置

参数
titlepannel的title
index插入的位置,如果index超出category里pannel的个数,将插入到最后
返回
返回生成的SARibbonPannel 指针
注解
如果

◆ isCanCustomize()

bool SARibbonCategory::isCanCustomize ( ) const

判断是否可以自定义

返回

◆ isContextCategory()

bool SARibbonCategory::isContextCategory ( ) const

如果是ContextCategory,此函数返回true

返回

◆ isEnableShowPannelTitle()

bool SARibbonCategory::isEnableShowPannelTitle ( ) const

是否pannel显示标题栏

返回

◆ iterate()

bool SARibbonCategory::iterate ( FpPannelIterate fp)

此函数会遍历Category下的所有pannel,执行函数指针

参数
fp函数指针返回false则停止迭代
返回
返回false代表没有迭代完所有的category,中途接收到回调函数的false返回而中断迭代

◆ markIsContextCategory()

void SARibbonCategory::markIsContextCategory ( bool isContextCategory = true)
protected

标记这个是上下文标签

参数
isContextCategory

◆ movePannel()

void SARibbonCategory::movePannel ( int from,
int to )

移动一个Pannel从from index到to index

参数
from要移动pannel的index
to要移动到的位置

◆ pannelByIndex()

SARibbonPannel * SARibbonCategory::pannelByIndex ( int index) const

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

参数
index
返回
如果超过索引范围,会返回nullptr

◆ pannelByName()

SARibbonPannel * SARibbonCategory::pannelByName ( const QString & title) const

通过名字查找pannel

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

◆ pannelByObjectName()

SARibbonPannel * SARibbonCategory::pannelByObjectName ( const QString & objname) const

通过ObjectName查找pannel

参数
objname
返回

◆ pannelCount()

int SARibbonCategory::pannelCount ( ) const

返回pannel的个数

返回

◆ pannelIndex()

int SARibbonCategory::pannelIndex ( SARibbonPannel * p) const

查找pannel对应的索引

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

◆ pannelLayoutMode()

SARibbonPannel::PannelLayoutMode SARibbonCategory::pannelLayoutMode ( ) const

pannel的模式

返回

◆ pannelList()

QList< SARibbonPannel * > SARibbonCategory::pannelList ( ) const

返回Category下的所有pannel

返回

◆ pannelSpacing()

int SARibbonCategory::pannelSpacing ( ) const

pannel的spacing

返回

◆ pannelTitleHeight()

int SARibbonCategory::pannelTitleHeight ( ) const

pannel标题栏的高度

返回

◆ pannelToolButtonIconSize()

QSize SARibbonCategory::pannelToolButtonIconSize ( ) const

pannel按钮的icon尺寸,large action不受此尺寸影响

返回

◆ removePannel() [1/2]

bool SARibbonCategory::removePannel ( int index)

移除pannel

参数
indexpannel的索引,如果超出会返回false
返回
成功返回true

◆ removePannel() [2/2]

bool SARibbonCategory::removePannel ( SARibbonPannel * pannel)

移除Pannel,Category会直接回收SARibbonPannel内存

参数
pannel需要移除的pannel
注解
移除后pannel为野指针,一般操作完建议把pannel指针设置为nullptr

此操作等同于:

...
pannel->hide();
pannel->deleteLater();
bool takePannel(SARibbonPannel *pannel)
把pannel脱离SARibbonCategory的管理
Definition SARibbonCategory.cpp:415
pannel页窗口,pannel是ribbon的面板用于承放控件
Definition SARibbonPannel.h:41
SARibbonCategory * category() const
获取category指针,如果没有parent,或者不在category管理,返回nullptr
Definition SARibbonPannel.cpp:780

◆ ribbonBar()

SARibbonBar * SARibbonCategory::ribbonBar ( ) const

获取对应的ribbonbar

返回
如果没有加入ribbonbar的管理,此值为null

◆ setCanCustomize()

void SARibbonCategory::setCanCustomize ( bool b)

设置是否可以自定义

参数
b

◆ setCategoryAlignment()

void SARibbonCategory::setCategoryAlignment ( SARibbonAlignment al)

设置Category的对齐方式

参数
al

◆ setCategoryName()

void SARibbonCategory::setCategoryName ( const QString & title)

设置category名字,等同setWindowTitle

参数
title

◆ setEnableShowPannelTitle()

void SARibbonCategory::setEnableShowPannelTitle ( bool on)

设置显示pannel标题

参数
on

◆ setPannelLayoutMode()

void SARibbonCategory::setPannelLayoutMode ( SARibbonPannel::PannelLayoutMode m)

设置pannel的模式

SARibbonBar 调用SARibbonBar::setRibbonStyle 函数时,会对所有的SARibbonCategory调用此函数 把新的SARibbonPannel::PannelLayoutMode设置进去

参数
m

◆ setPannelSpacing()

void SARibbonCategory::setPannelSpacing ( int n)

设置pannel的spacing

参数
n

◆ setPannelTitleHeight()

void SARibbonCategory::setPannelTitleHeight ( int h)

设置pannel的高度

参数
h

◆ setPannelToolButtonIconSize()

void SARibbonCategory::setPannelToolButtonIconSize ( const QSize & s)

设置pannel按钮的icon尺寸,large action不受此尺寸影响

参数
s

◆ takePannel()

bool SARibbonCategory::takePannel ( SARibbonPannel * pannel)

把pannel脱离SARibbonCategory的管理

参数
pannel需要提取的pannel
返回
成功返回true,否则返回false

◆ wheelEvent()

void SARibbonCategory::wheelEvent ( QWheelEvent * event)
protected

在超出边界情况下,滚轮可滚动pannel

参数
event

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