![]() |
SARibbon 2.5.2
SARibbon wiki
|
类 | |
| class | PrivateData |
Public 成员函数 | |
| SARibbonBarLayout (SARibbonBar *parent) | |
| void | addItem (QLayoutItem *item) override |
| QLayoutItem * | itemAt (int index) const override |
| QLayoutItem * | takeAt (int index) override |
| int | count () const override |
| QSize | sizeHint () const override |
| QSize | minimumSize () const override |
| void | setGeometry (const QRect &rect) override |
| virtual void | doLayout () |
| bool | isLooseStyle () const |
| bool | isCompactStyle () const |
| const QRect & | titleRect () const |
| int | calcMinTabBarWidth () const |
| 计算tabbar的最小尺寸 | |
| void | resetSize () |
| void | layoutTitleRect () |
| void | layoutStackedContainerWidget () |
| void | layoutCategory () |
| 让category重新布局 | |
| void | setSystemButtonSize (const QSize &size) |
| void | setTabOnTitle (bool on) |
| bool | isTabOnTitle () const |
| 设置tab在title上面,这样可以省略title区域 | |
| int | minimumModeMainBarHeight () const |
| 最小模式下的高度 | |
| int | normalModeMainBarHeight () const |
| 正常模式下的高度 | |
| int | tabBarHeight () const |
| tabBar的高度 | |
| void | setTabBarHeight (int h) |
| 设置tabBar的高度 | |
| int | titleBarHeight () const |
| 返回标题栏高度 | |
| void | setTitleBarHeight (int h) |
| 设置标题栏的高度 | |
| int | categoryHeight () const |
| category的高度 | |
| void | setCategoryHeight (int h) |
| 设置category的高度 | |
| int | panelTitleHeight () const |
| SARibbonBarLayout::panelTitleHeight | |
| void | setPanelTitleHeight (int h) |
| 设置panel的高度 | |
| void | setWindowIcon (const QIcon &icon) |
| 设置主窗口左上角的图标 | |
| QIcon | windowIcon () const |
| 左上角图标 | |
| void | setApplicationButtonVerticalExpansion (bool on=true) |
| 设置ApplicationButton垂直方向扩充,这样ApplicationButton能占用标题栏和tab栏两个栏的高度 | |
| bool | isApplicationButtonVerticalExpansion () const |
| applicationButton是否是在垂直方向扩充 | |
| SARibbonBar * | ribbonBar () const |
| tab是否在title上面 | |
| SARibbonTabBar * | ribbonTabBar () const |
| SARibbonStackedWidget * | stackedContainerWidget () const |
| SARibbonQuickAccessBar * | quickAccessBar () const |
| SARibbonButtonGroupWidget * | rightButtonGroup () const |
| QAbstractButton * | applicationButton () const |
| SARibbonTitleIconWidget * | titleIconWidget () const |
Protected 成员函数 | |
| void | resizeInLooseStyle () |
| void | resizeInCompactStyle () |
| int SARibbonBarLayout::calcMinTabBarWidth | ( | ) | const |
计算tabbar的最小尺寸
此函数的作用是在tabbar居中布局时,tabbar不是占满整个宽度,而是按照最小尺寸来占据宽度,让tabbar的长度刚刚好, 这样能让出mainwindow的空间,接受鼠标事件,从而实现拖动等操作,否则tabbar占用整个顶栏,鼠标无法点击到mainwindow
| int SARibbonBarLayout::categoryHeight | ( | ) | const |
category的高度
| bool SARibbonBarLayout::isApplicationButtonVerticalExpansion | ( | ) | const |
applicationButton是否是在垂直方向扩充
默认为false
| bool SARibbonBarLayout::isTabOnTitle | ( | ) | const |
设置tab在title上面,这样可以省略title区域
| on |
| void SARibbonBarLayout::layoutCategory | ( | ) |
让category重新布局
这个函数在调整category的对其方式的时候调用,由于对其方式改变StackedContainerWidget的尺寸没有改变,但category要重新布局,因此需要发射一个
| int SARibbonBarLayout::minimumModeMainBarHeight | ( | ) | const |
最小模式下的高度
| int SARibbonBarLayout::normalModeMainBarHeight | ( | ) | const |
正常模式下的高度
有可能SARibbonBar::height和mainBarHeight不相等,这种情况发生在RibbonState::MinimumRibbonMode状态下
| int SARibbonBarLayout::panelTitleHeight | ( | ) | const |
|
protected |
< 记录ribbonBar的最小宽度,这个用于给推荐宽度
6.布局 tab bar
|
protected |
< 记录ribbonBar的最小宽度,这个用于给推荐宽度
如果Application button是纵向扩展模式,那么不显示titleicon 纵向扩展的Application button将占用title和tab的高度
Application button不是纵向扩展,显示icon
这里不用SA::scaleSizeByHeight缩减quickAccessBar的比例: quickAccessBarSize = SA::scaleSizeByHeight(quickAccessBarSize, titleBarControlHeight); 原因是,如果quickAccessBar最后是一个widget,如果长度不足,这个widget是不会显示出来,假如默认QToolBar的高度是32, 而titlebar的高度一是28,肯定会导致宽度缩减,如果宽度缩减,且最后是一个窗口,那么这个窗口会不显示 针对工具栏类型的窗口,宽度高度都不进行比例缩减
titleBar上的元素布局完成,开始布局第二行
! 如果是纵向扩展的Application button则只更新x位置
这里不用SA::scaleSizeByHeight缩减rightButtonGroup的比例: rightBtnGroupSize = SA::scaleSizeByHeight(rightBtnGroupSize, tabBarControlHeight); 针对工具栏类型的窗口,宽度高度都不进行比例缩减
6.布局tabbar,此时已经确定了applicationButton的位置,以及最右边rightButtonGroup的位置,剩下的区域都给tabbar
| SARibbonBar * SARibbonBarLayout::ribbonBar | ( | ) | const |
tab是否在title上面
| void SARibbonBarLayout::setApplicationButtonVerticalExpansion | ( | bool | on = true | ) |
设置ApplicationButton垂直方向扩充,这样ApplicationButton能占用标题栏和tab栏两个栏的高度
| on |
| void SARibbonBarLayout::setCategoryHeight | ( | int | h | ) |
设置category的高度
| h |
| void SARibbonBarLayout::setPanelTitleHeight | ( | int | h | ) |
设置panel的高度
| h |
| void SARibbonBarLayout::setTabBarHeight | ( | int | h | ) |
设置tabBar的高度
| h |
| void SARibbonBarLayout::setTitleBarHeight | ( | int | h | ) |
| void SARibbonBarLayout::setWindowIcon | ( | const QIcon & | icon | ) |
设置主窗口左上角的图标
| icon |
| int SARibbonBarLayout::tabBarHeight | ( | ) | const |
tabBar的高度
| int SARibbonBarLayout::titleBarHeight | ( | ) | const |
| QIcon SARibbonBarLayout::windowIcon | ( | ) | const |
左上角图标