QtCanpool 3.3.0
载入中...
搜索中...
未找到
ribbongrouplayout.h
浏览该文件的文档.
1
5#pragma once
6
7#include "qxribbon_global.h"
8#include "ribbongroup.h"
9
10#include <QWidgetItem>
11#include <QLayout>
12
14
15class RibbonGroupLayoutPrivate;
16
26class RibbonGroupItem : public QWidgetItem
27{
28public:
29 RibbonGroupItem(QWidget *widget);
30 bool isEmpty() const Q_DECL_OVERRIDE;
31
32 short rowIndex;
36 QAction *action;
40};
41
51class RibbonGroupLayout : public QLayout
52{
53 Q_OBJECT
54public:
55 RibbonGroupLayout(QWidget *p = Q_NULLPTR);
57
58 virtual int indexOf(QAction *action) const;
59
60 void addItem(QLayoutItem *item) Q_DECL_OVERRIDE; // useless
61
62 void insertAction(int index, QAction *act, RibbonGroup::RowProportion rp = RibbonGroup::Auto);
63
64 QLayoutItem *itemAt(int index) const Q_DECL_OVERRIDE;
65 QLayoutItem *takeAt(int index) Q_DECL_OVERRIDE;
66 int count() const Q_DECL_OVERRIDE;
67
68 bool isEmpty() const Q_DECL_OVERRIDE;
69 void invalidate() Q_DECL_OVERRIDE;
70 Qt::Orientations expandingDirections() const Q_DECL_OVERRIDE;
71
72 void setGeometry(const QRect &rect) Q_DECL_OVERRIDE;
73
74 QSize minimumSize() const Q_DECL_OVERRIDE;
75 QSize sizeHint() const Q_DECL_OVERRIDE;
76
77 RibbonGroupItem *groupItem(QAction *action) const;
78 RibbonGroupItem *lastItem() const;
79
80 QWidget *lastWidget() const;
81
82 void move(int from, int to);
83
84 bool isDirty() const;
85
86 static int calcLargeHeight(const QRect &setrect, const RibbonGroup *group);
87
88 static const QMargins &groupContentsMargins();
89 static void setGroupContentsMargins(const QMargins &m);
90protected:
91 const QList<RibbonGroupItem *> &ribbonGroupItems() const;
92private:
94 friend class RibbonGroup;
95 friend class RibbonGroupPrivate;
96};
97
是对 group 所有子窗口的抽象,参考 qt 的 toolbar
short rowIndex
记录当前item属于第几行,hide模式下为-1
QRect willGeometry
在调用RibbonGroupLayout::updateGeomArray会更新该成员, 实际设置的时候会传给QWidgetItem::setGeometry设置Geometry
RibbonGroup::RowProportion rowProportion
行的占比,ribbon中有large,medium和small三种占比,见 RibbonGroup::RowProportion
int columnIndex
记录当前item属于第几列,hide模式下为-1
QAction * action
记录action,参考QToolBarLayoutItem
bool customWidget
对于没有窗口的action,实际也会有一个RibbonButton,在销毁时要delete掉
针对 RibbonGroup 的布局
group 用于对 ribbon 页窗口中的控件进行分组
Definition ribbongroup.h:29
#define QX_DECLARE_PRIVATE(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