Ribbon界面适用的toolButton
更多...
#include <SARibbonToolButton.h>
|
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()
◆ isEnableWordWrap()
bool SARibbonToolButton::isEnableWordWrap |
( |
| ) |
|
|
static |
◆ isLargeRibbonButton()
bool SARibbonToolButton::isLargeRibbonButton |
( |
| ) |
const |
◆ isSmallRibbonButton()
bool SARibbonToolButton::isSmallRibbonButton |
( |
| ) |
const |
◆ mouseMoveEvent()
void SARibbonToolButton::mouseMoveEvent |
( |
QMouseEvent * | e | ) |
|
|
protectedvirtual |
鼠标移动事件
由于Ribbon的Indicator和正常的Toolbutton不一样,因此无法用QStyleOptionToolButton的activeSubControls的状态
因此需要重新捕获鼠标的位置来更新按钮当前的一些状态
- 参数
-
◆ mousePressEvent()
void SARibbonToolButton::mousePressEvent |
( |
QMouseEvent * | e | ) |
|
|
protectedvirtual |
SARibbonToolButton::mousePressEvent
- 参数
-
注意这里要用QAbstractButton的mousePressEvent,而不是QToolButton的mousePressEvent QToolButton的mousePressEvent主要是为了弹出菜单,这里弹出菜单的方式是不一样的,因此不能执行QToolButton的mousePressEvent
◆ paintButton()
void SARibbonToolButton::paintButton |
( |
QPainter & | p, |
|
|
const QStyleOptionToolButton & | opt ) |
|
protectedvirtual |
◆ paintIcon()
void SARibbonToolButton::paintIcon |
( |
QPainter & | p, |
|
|
const QStyleOptionToolButton & | opt, |
|
|
const QRect & | iconDrawRect ) |
|
protectedvirtual |
◆ paintIndicator()
void SARibbonToolButton::paintIndicator |
( |
QPainter & | p, |
|
|
const QStyleOptionToolButton & | opt, |
|
|
const QRect & | indicatorDrawRect ) |
|
protectedvirtual |
◆ paintText()
void SARibbonToolButton::paintText |
( |
QPainter & | p, |
|
|
const QStyleOptionToolButton & | opt, |
|
|
const QRect & | textDrawRect ) |
|
protectedvirtual |
绘制文本
- 参数
-
以下内容参考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计算绘图所需的尺寸,避免在绘图过程中实时绘制提高效率
- 参数
-
◆ setButtonType()
设置按钮样式
- 注解
- 设置按钮样式过程会调用setToolButtonStyle,如果要改变toolButtonStyle,如设置为Qt::ToolButtonIconOnly,需要在此函数之后设置
- 参数
-
◆ setEnableWordWrap()
void SARibbonToolButton::setEnableWordWrap |
( |
bool | on | ) |
|
|
static |
设置在lite模式下是否允许文字换行,如果允许,则图标相对比较小,默认不允许
- 参数
-
◆ sizeHint()
QSize SARibbonToolButton::sizeHint |
( |
| ) |
const |
|
virtual |
toolbutton的尺寸确定是先定下字体的尺寸,再定下icon的尺寸,自底向上,保证字体能显示两行
- 注解
- m_sizeHint的刷新需要注意
- 返回
◆ spacing()
int SARibbonToolButton::spacing |
( |
| ) |
const |
该类的文档由以下文件生成:
- F:/src/SARibbon/src/SARibbonBar/SARibbonToolButton.h
- F:/src/SARibbon/src/SARibbonBar/SARibbonToolButton.cpp