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

如果要使用SARibbonBar,必须使用此类代替QMainWindow 更多...

#include <SARibbonMainWindow.h>

类 SARibbonMainWindow 继承关系图:

class  PrivateData
 The SARibbonMainWindowPrivate class 更多...
 

Public 成员函数

 SARibbonMainWindow (QWidget *parent=nullptr, bool useRibbon=true, const Qt::WindowFlags flags={})
 
SARibbonBarribbonBar () const
 返回ribbonbar,如果不是使用ribbon模式,返回nullptr
 
void setRibbonBar (SARibbonBar *ribbon)
 设置ribbonbar
 
SAFramelessHelperframelessHelper ()
 
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
 
SARibbonSystemButtonBarwindowButtonBar () const
 获取系统按钮组,可以在此基础上添加其他按钮
 

Protected 成员函数

SARibbonBarcreateRibbonBar ()
 创建ribbonbar的工厂函数
 

属性

SARibbonTheme ribbonTheme
 

友元

class SARibbonBar
 

详细描述

如果要使用SARibbonBar,必须使用此类代替QMainWindow

由于ribbon的风格和传统的Toolbar风格差异较大, SARibbonBar使用需要把原有的QMainWindow替换为SARibbonMainWindow, SARibbonMainWindow是个无边框窗体,继承自QMainWindow(目前使用第三方的无边框方案https://github.com/wangwenx190/framelesshelper), 其构造函数的参数useRibbon用于指定是否使用ribbon风格,默认为true

SARibbonMainWindow(QWidget* parent = nullptr,bool useRibbon = true);
如果要使用SARibbonBar,必须使用此类代替QMainWindow
Definition SARibbonMainWindow.h:37

如果想换回非ribbon风格,只需要把useRibbon设置为false即可, 成员函数isUseRibbon用于判断当前是否为ribbon模式,这个函数在兼容传统Toolbar风格和ribbon风格时非常有用。

bool isUseRibbon() const;

SARibbonMainWindow 提供了几种常用的ribbon样式,样式可见RibbonTheme 通过setRibbonTheme 可改变ribbon的样式,用户也可通过qss自己定义自己的样式

成员函数说明

◆ createRibbonBar()

SARibbonBar * SARibbonMainWindow::createRibbonBar ( )
protected

创建ribbonbar的工厂函数

返回

◆ ribbonBar()

SARibbonBar * SARibbonMainWindow::ribbonBar ( ) const

返回ribbonbar,如果不是使用ribbon模式,返回nullptr

返回

◆ setRibbonBar()

void SARibbonMainWindow::setRibbonBar ( SARibbonBar * ribbon)

设置ribbonbar

参数
bar

◆ setRibbonTheme()

void SARibbonMainWindow::setRibbonTheme ( SARibbonTheme theme)

SARibbonMainWindow::setRibbonTheme

注意主题在构造函数设置主题会不完全生效,使用QTimer投放到队列最后执行即可

QTimer::singleShot(0, this, [ this ]() { this->setRibbonTheme(SARibbonMainWindow::RibbonThemeDark); });
void setRibbonTheme(SARibbonTheme theme)
SARibbonMainWindow::setRibbonTheme
Definition SARibbonMainWindow.cpp:217
参数
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;

◆ windowButtonBar()

SARibbonSystemButtonBar * SARibbonMainWindow::windowButtonBar ( ) const

获取系统按钮组,可以在此基础上添加其他按钮

返回

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