![]() |
SARibbon 2.2.3
SARibbon wiki
|
如果要使用SARibbonBar,必须使用此类代替QMainWindow 更多...
#include <SARibbonMainWindow.h>
类 | |
class | PrivateData |
The SARibbonMainWindowPrivate class 更多... | |
Public 成员函数 | |
SARibbonMainWindow (QWidget *parent=nullptr, bool useRibbon=true, const Qt::WindowFlags flags={}) | |
SARibbonBar * | ribbonBar () const |
返回ribbonbar,如果不是使用ribbon模式,返回nullptr | |
void | setRibbonBar (SARibbonBar *ribbon) |
设置ribbonbar | |
SAFramelessHelper * | framelessHelper () |
void | updateWindowFlag (Qt::WindowFlags flags) |
此函数仅用于控制最小最大化和关闭按钮的显示 | |
void | setRibbonTheme (SARibbonTheme theme) |
SARibbonMainWindow::setRibbonTheme | |
SARibbonTheme | ribbonTheme () const |
bool | isUseRibbon () const |
virtual bool | eventFilter (QObject *obj, QEvent *e) Q_DECL_OVERRIDE |
SARibbonSystemButtonBar * | windowButtonBar () const |
获取系统按钮组,可以在此基础上添加其他按钮 | |
Protected 成员函数 | |
SARibbonBar * | createRibbonBar () |
创建ribbonbar的工厂函数 | |
属性 | |
SARibbonTheme | ribbonTheme |
友元 | |
class | SARibbonBar |
如果要使用SARibbonBar,必须使用此类代替QMainWindow
由于ribbon的风格和传统的Toolbar风格差异较大, SARibbonBar使用需要把原有的QMainWindow替换为SARibbonMainWindow, SARibbonMainWindow是个无边框窗体,继承自QMainWindow(目前使用第三方的无边框方案https://github.com/wangwenx190/framelesshelper), 其构造函数的参数useRibbon用于指定是否使用ribbon风格,默认为true
如果想换回非ribbon风格,只需要把useRibbon设置为false即可, 成员函数isUseRibbon用于判断当前是否为ribbon模式,这个函数在兼容传统Toolbar风格和ribbon风格时非常有用。
SARibbonMainWindow 提供了几种常用的ribbon样式,样式可见RibbonTheme 通过setRibbonTheme 可改变ribbon的样式,用户也可通过qss自己定义自己的样式
|
protected |
创建ribbonbar的工厂函数
SARibbonBar * SARibbonMainWindow::ribbonBar | ( | ) | const |
返回ribbonbar,如果不是使用ribbon模式,返回nullptr
void SARibbonMainWindow::setRibbonBar | ( | SARibbonBar * | ribbon | ) |
设置ribbonbar
bar |
void SARibbonMainWindow::setRibbonTheme | ( | SARibbonTheme | theme | ) |
SARibbonMainWindow::setRibbonTheme
注意主题在构造函数设置主题会不完全生效,使用QTimer投放到队列最后执行即可
theme |
在设置qss后需要针对margin信息重新设置进SARibbonTabBar中 office2013.qss的margin信息如下设置 margin-top: 0px; margin-right: 0px; margin-left: 5px; margin-bottom: 0px;
在设置qss后需要针对margin信息重新设置进SARibbonTabBar中 office2021.qss的margin信息如下设置 margin-top: 0px; margin-right: 5px; margin-left: 5px; margin-bottom: 0px;
SARibbonSystemButtonBar * SARibbonMainWindow::windowButtonBar | ( | ) | const |
获取系统按钮组,可以在此基础上添加其他按钮