QtCanpool 3.3.0
载入中...
搜索中...
未找到
ribbonbutton_p.h
浏览该文件的文档.
1
5#pragma once
6
7#include "ribbonbutton.h"
8
9#include <QPainter>
10#include <QStyleOptionToolButton>
11#include <QStyle>
12
14
16{
17public:
19public:
21 virtual ~RibbonButtonPrivate();
22
23 QStyle *style() const;
24
25 void recalcSizeHint(QStyleOptionToolButton &opt, QSize s);
26 // 此函数用来计算icon和text的尺寸
27 // 注意icon的尺寸依赖text,且只要知道字体大小就可以确定icon的高度
28 void calcIconAndTextRect(const QStyleOptionToolButton &opt);
29 // 在需要绘制文字的时候调用此函数,有些效果需要文字的文字改变
30 QRect adjustedTextRect(const QStyleOptionToolButton &opt, const QWidget *w);
31 QRect calcIndicatorArrowDownRect(const QStyleOptionToolButton &opt);
32 virtual QPixmap createIconPixmap(const QStyleOptionToolButton &opt, const QSize &iconsize);
33 // 根据鼠标位置更新按钮的信息
34 void updateButtonState(const QPoint &pos);
35
36 void drawButton(QStyleOptionToolButton &opt, QPainter &p, const QWidget *w);
37 void drawIconAndLabel(QStyleOptionToolButton &opt, QPainter &p, const QWidget *w);
38 void drawArrow(const QStyle *style, const QStyleOptionToolButton *toolbutton, const QRect &rect, QPainter *painter,
39 const QWidget *widget = Q_NULLPTR);
40public:
47 QSize m_sizeHint;
48 QRect m_iconRect;
49 QRect m_textRect;
51
53};
54
QRect m_iconRect
记录icon的绘制位置
QRect m_indicatorArrowRect
记录IndicatorArrow的绘制位置
static bool s_isToolButtonTextShift
配置RibbonButton文字在点击时是否会轻微改变位置而达到一种类似跳动的效果
QSize m_sizeHint
保存计算好的sizehint
int m_spacing
按钮和边框的距离
QRect m_textRect
记录text的绘制位置
RibbonButton::LargeButtonType m_largeButtonType
bool m_isWordWrap
标记是否文字换行,默认 false
RibbonButton::RibbonButtonType m_buttonType
bool m_mouseOnSubControl
这个用于标记MenuButtonPopup模式下,鼠标在文本区域
Ribbon 界面适用的 toolButton
#define QX_DECLARE_PUBLIC(Class)
#define Q_NULLPTR
Copyleft (C) 2025 maminjie canpool@163.com SPDX-License-Identifier: MulanPSL-2.0
#define QX_RIBBON_END_NAMESPACE
#define QX_RIBBON_BEGIN_NAMESPACE