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

Ribbon界面适用的toolButton 更多...

#include <SARibbonToolButton.h>

类 SARibbonToolButton 继承关系图:
SARibbonColorToolButton

class  PrivateData
 

Public 类型

enum  RibbonButtonType { LargeButton , SmallButton }
 按钮样式
 

Public 成员函数

 SARibbonToolButton (QWidget *parent=Q_NULLPTR)
 
 SARibbonToolButton (QAction *defaultAction, QWidget *parent=Q_NULLPTR)
 
RibbonButtonType buttonType () const
 按钮样式
 
void setButtonType (const RibbonButtonType &buttonType)
 设置按钮样式
 
bool isSmallRibbonButton () const
 是否是小按钮
 
bool isLargeRibbonButton () const
 是否是大按钮
 
virtual QSize minimumSizeHint () const Q_DECL_OVERRIDE
 
int spacing () const
 间距是几个重要矩形的间隔
 
void updateRect ()
 
virtual QSize sizeHint () const Q_DECL_OVERRIDE
 toolbutton的尺寸确定是先定下字体的尺寸,再定下icon的尺寸,自底向上,保证字体能显示两行
 

静态 Public 成员函数

static void setEnableWordWrap (bool on)
 设置在lite模式下是否允许文字换行,如果允许,则图标相对比较小,默认不允许
 
static bool isEnableWordWrap ()
 在lite模式下是否允许文字换行
 

Protected 成员函数

virtual void paintEvent (QPaintEvent *e) Q_DECL_OVERRIDE
 
virtual void resizeEvent (QResizeEvent *e) Q_DECL_OVERRIDE
 在resizeevent计算绘图所需的尺寸,避免在绘图过程中实时绘制提高效率
 
virtual void mouseMoveEvent (QMouseEvent *e) Q_DECL_OVERRIDE
 鼠标移动事件
 
virtual void mousePressEvent (QMouseEvent *e) Q_DECL_OVERRIDE
 SARibbonToolButton::mousePressEvent
 
virtual void mouseReleaseEvent (QMouseEvent *e) Q_DECL_OVERRIDE
 
virtual void focusOutEvent (QFocusEvent *e) Q_DECL_OVERRIDE
 
virtual void leaveEvent (QEvent *e) Q_DECL_OVERRIDE
 
virtual bool hitButton (const QPoint &pos) const Q_DECL_OVERRIDE
 
virtual bool event (QEvent *e) Q_DECL_OVERRIDE
 
virtual void changeEvent (QEvent *e) Q_DECL_OVERRIDE
 
virtual void actionEvent (QActionEvent *e) Q_DECL_OVERRIDE
 
virtual void paintButton (QPainter &p, const QStyleOptionToolButton &opt)
 绘制按钮
 
virtual void paintIcon (QPainter &p, const QStyleOptionToolButton &opt, const QRect &iconDrawRect)
 绘制图标
 
virtual void paintText (QPainter &p, const QStyleOptionToolButton &opt, const QRect &textDrawRect)
 绘制文本
 
virtual void paintIndicator (QPainter &p, const QStyleOptionToolButton &opt, const QRect &indicatorDrawRect)
 绘制Indicator
 

详细描述

Ribbon界面适用的toolButton

相对于普通toolbutton,主要多了两个类型设置,setButtonType 和 setLargeButtonType

注解
参见
setIconSize 函数不在起作用,iconsize是根据当前尺寸动态调整的

成员函数说明

◆ buttonType()

SARibbonToolButton::RibbonButtonType SARibbonToolButton::buttonType ( ) const

按钮样式

参见
setButtonType
返回

◆ isEnableWordWrap()

bool SARibbonToolButton::isEnableWordWrap ( )
static

在lite模式下是否允许文字换行

返回

◆ isLargeRibbonButton()

bool SARibbonToolButton::isLargeRibbonButton ( ) const

是否是大按钮

返回

◆ isSmallRibbonButton()

bool SARibbonToolButton::isSmallRibbonButton ( ) const

是否是小按钮

返回

◆ mouseMoveEvent()

void SARibbonToolButton::mouseMoveEvent ( QMouseEvent * e)
protectedvirtual

鼠标移动事件

由于Ribbon的Indicator和正常的Toolbutton不一样,因此无法用QStyleOptionToolButton的activeSubControls的状态

因此需要重新捕获鼠标的位置来更新按钮当前的一些状态

参数
e

◆ mousePressEvent()

void SARibbonToolButton::mousePressEvent ( QMouseEvent * e)
protectedvirtual

SARibbonToolButton::mousePressEvent

参数
e

注意这里要用QAbstractButton的mousePressEvent,而不是QToolButton的mousePressEvent QToolButton的mousePressEvent主要是为了弹出菜单,这里弹出菜单的方式是不一样的,因此不能执行QToolButton的mousePressEvent

◆ paintButton()

void SARibbonToolButton::paintButton ( QPainter & p,
const QStyleOptionToolButton & opt )
protectedvirtual

绘制按钮

参数
p
opt

◆ paintIcon()

void SARibbonToolButton::paintIcon ( QPainter & p,
const QStyleOptionToolButton & opt,
const QRect & iconDrawRect )
protectedvirtual

绘制图标

参数
p
opt

SARibbonColorToolButton 重载.

◆ paintIndicator()

void SARibbonToolButton::paintIndicator ( QPainter & p,
const QStyleOptionToolButton & opt,
const QRect & indicatorDrawRect )
protectedvirtual

绘制Indicator

参数
p
opt

◆ paintText()

void SARibbonToolButton::paintText ( QPainter & p,
const QStyleOptionToolButton & opt,
const QRect & textDrawRect )
protectedvirtual

绘制文本

参数
p
opt

以下内容参考QCommonStyle.cpp void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt,QPainter *p, const QWidget *widget) const case CC_ToolButton:

◆ resizeEvent()

void SARibbonToolButton::resizeEvent ( QResizeEvent * e)
protectedvirtual

在resizeevent计算绘图所需的尺寸,避免在绘图过程中实时绘制提高效率

参数
e

◆ setButtonType()

void SARibbonToolButton::setButtonType ( const RibbonButtonType & buttonType)

设置按钮样式

注解
设置按钮样式过程会调用setToolButtonStyle,如果要改变toolButtonStyle,如设置为Qt::ToolButtonIconOnly,需要在此函数之后设置
参数
buttonType

◆ setEnableWordWrap()

void SARibbonToolButton::setEnableWordWrap ( bool on)
static

设置在lite模式下是否允许文字换行,如果允许,则图标相对比较小,默认不允许

参数
on

◆ sizeHint()

QSize SARibbonToolButton::sizeHint ( ) const
virtual

toolbutton的尺寸确定是先定下字体的尺寸,再定下icon的尺寸,自底向上,保证字体能显示两行

注解
m_sizeHint的刷新需要注意
返回

◆ spacing()

int SARibbonToolButton::spacing ( ) const

间距是几个重要矩形的间隔

返回

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