![]() |
SARibbon 2.2.3
SARibbon wiki
|
一项ribbon tab页 更多...
#include <SARibbonCategory.h>
类 | |
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的模式 | |
SARibbonPannel * | addPannel (const QString &title) |
添加pannel | |
void | addPannel (SARibbonPannel *pannel) |
添加pannel | |
Q_INVOKABLE void | addPannel (QWidget *pannel) |
qt designer专用 | |
SARibbonPannel * | insertPannel (const QString &title, int index) |
新建一个pannel,并插入到index位置 | |
SARibbonPannel * | pannelByName (const QString &title) const |
通过名字查找pannel | |
SARibbonPannel * | pannelByObjectName (const QString &objname) const |
通过ObjectName查找pannel | |
SARibbonPannel * | pannelByIndex (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不受此尺寸影响 | |
SARibbonBar * | ribbonBar () 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) |
标记这个是上下文标签 | |
SARibbonCategoryLayout * | categoryLayout () const |
获取SARibbonCategoryLayoutlayout | |
属性 | |
bool | isCanCustomize |
QString | categoryName |
友元 | |
class | SARibbonBar |
class | SARibbonContextCategory |
一项ribbon tab页
|
signal |
参考QToolBar::actionTriggered的信号
action |
SARibbonPannel * SARibbonCategory::addPannel | ( | const QString & | title | ) |
添加pannel
title | pannel的标题,在office/wps的三行模式下会显示在pannel的下方 |
void SARibbonCategory::addPannel | ( | QWidget * | pannel | ) |
qt designer专用
pannel |
void SARibbonCategory::addPannel | ( | SARibbonPannel * | pannel | ) |
添加pannel
pannel | pannel的所有权SARibbonCategory来管理 |
SARibbonAlignment SARibbonCategory::categoryAlignment | ( | ) | const |
Category的对齐方式
|
protected |
获取SARibbonCategoryLayoutlayout
QString SARibbonCategory::categoryName | ( | ) | const |
category的名字,等同windowTitle函数
|
signal |
category标题发生了改变信号
n |
SARibbonPannel * SARibbonCategory::insertPannel | ( | const QString & | title, |
int | index ) |
新建一个pannel,并插入到index位置
title | pannel的title |
index | 插入的位置,如果index超出category里pannel的个数,将插入到最后 |
bool SARibbonCategory::isCanCustomize | ( | ) | const |
判断是否可以自定义
bool SARibbonCategory::isContextCategory | ( | ) | const |
如果是ContextCategory,此函数返回true
bool SARibbonCategory::isEnableShowPannelTitle | ( | ) | const |
是否pannel显示标题栏
bool SARibbonCategory::iterate | ( | FpPannelIterate | fp | ) |
此函数会遍历Category下的所有pannel,执行函数指针
fp | 函数指针返回false则停止迭代 |
|
protected |
标记这个是上下文标签
isContextCategory |
void SARibbonCategory::movePannel | ( | int | from, |
int | to ) |
移动一个Pannel从from index到to index
from | 要移动pannel的index |
to | 要移动到的位置 |
SARibbonPannel * SARibbonCategory::pannelByIndex | ( | int | index | ) | const |
通过索引找到pannel,如果超过索引范围,会返回nullptr
index |
SARibbonPannel * SARibbonCategory::pannelByName | ( | const QString & | title | ) | const |
通过名字查找pannel
title |
SARibbonPannel * SARibbonCategory::pannelByObjectName | ( | const QString & | objname | ) | const |
通过ObjectName查找pannel
objname |
int SARibbonCategory::pannelCount | ( | ) | const |
返回pannel的个数
int SARibbonCategory::pannelIndex | ( | SARibbonPannel * | p | ) | const |
查找pannel对应的索引
p |
SARibbonPannel::PannelLayoutMode SARibbonCategory::pannelLayoutMode | ( | ) | const |
pannel的模式
QList< SARibbonPannel * > SARibbonCategory::pannelList | ( | ) | const |
返回Category下的所有pannel
int SARibbonCategory::pannelSpacing | ( | ) | const |
pannel的spacing
int SARibbonCategory::pannelTitleHeight | ( | ) | const |
pannel标题栏的高度
QSize SARibbonCategory::pannelToolButtonIconSize | ( | ) | const |
pannel按钮的icon尺寸,large action不受此尺寸影响
bool SARibbonCategory::removePannel | ( | int | index | ) |
移除pannel
index | pannel的索引,如果超出会返回false |
bool SARibbonCategory::removePannel | ( | SARibbonPannel * | pannel | ) |
移除Pannel,Category会直接回收SARibbonPannel内存
pannel | 需要移除的pannel |
此操作等同于:
SARibbonBar * SARibbonCategory::ribbonBar | ( | ) | const |
获取对应的ribbonbar
void SARibbonCategory::setCanCustomize | ( | bool | b | ) |
设置是否可以自定义
b |
void SARibbonCategory::setCategoryAlignment | ( | SARibbonAlignment | al | ) |
设置Category的对齐方式
al |
void SARibbonCategory::setCategoryName | ( | const QString & | title | ) |
设置category名字,等同setWindowTitle
title |
void SARibbonCategory::setEnableShowPannelTitle | ( | bool | on | ) |
设置显示pannel标题
on |
void SARibbonCategory::setPannelLayoutMode | ( | SARibbonPannel::PannelLayoutMode | m | ) |
设置pannel的模式
在SARibbonBar 调用SARibbonBar::setRibbonStyle 函数时,会对所有的SARibbonCategory调用此函数 把新的SARibbonPannel::PannelLayoutMode设置进去
m |
void SARibbonCategory::setPannelSpacing | ( | int | n | ) |
设置pannel的spacing
n |
void SARibbonCategory::setPannelTitleHeight | ( | int | h | ) |
设置pannel的高度
h |
void SARibbonCategory::setPannelToolButtonIconSize | ( | const QSize & | s | ) |
设置pannel按钮的icon尺寸,large action不受此尺寸影响
s |
bool SARibbonCategory::takePannel | ( | SARibbonPannel * | pannel | ) |
把pannel脱离SARibbonCategory的管理
pannel | 需要提取的pannel |
|
protected |
在超出边界情况下,滚轮可滚动pannel
event |