QWT 7.0.1
Loading...
Searching...
No Matches
qwt_figure_layout.h
1#ifndef QWT_FIGURE_LAYOUT_H
2#define QWT_FIGURE_LAYOUT_H
3// stl
4#include <memory>
5
6// Qt
7#include <QLayout>
8
9// qwt
10#include "qwt_global.h"
11
18class QWT_EXPORT QwtFigureLayout : public QLayout
19{
20 Q_OBJECT
21 QWT_DECLARE_PRIVATE(QwtFigureLayout)
22public:
24 explicit QwtFigureLayout(QWidget* parent);
25 virtual ~QwtFigureLayout();
26
27 virtual void addItem(QLayoutItem* item) override;
28 virtual QLayoutItem* itemAt(int index) const override;
29 virtual QLayoutItem* takeAt(int index) override;
30 virtual int count() const override;
31 virtual QSize sizeHint() const override;
32 virtual QSize minimumSize() const override;
33 virtual void setGeometry(const QRect& rect) override;
34
35 // Add a widget with normalized coordinates/使用归一化坐标添加窗口部件
36 void addAxes(QWidget* widget, const QRectF& rect);
37
38 // Add a widget with normalized coordinates using separate parameters/使用分离参数和归一化坐标添加窗口部件
39 void addAxes(QWidget* widget, qreal left, qreal top, qreal width, qreal height);
40
41 // Add a widget by grid layout/添加窗口部件到网格布局
42 void addGridAxes(QWidget* widget,
43 int rowCnt,
44 int colCnt,
45 int row,
46 int col,
47 int rowSpan = 1,
48 int colSpan = 1,
49 qreal wspace = 0.0,
50 qreal hspace = 0.0);
51
52 // 改变已经添加的窗口的位置占比,如果窗口还没添加,此函数无效
53 void setAxesNormPos(QWidget* widget, const QRectF& rect);
54
55 // Get the normalized rectangle for a widget/获取窗口部件的归一化矩形
56 QRectF widgetNormRect(QWidget* widget) const;
57
58 // 计算rect相对于parentRect的归一化坐标
59 static QRectF calcNormRect(const QRect& parentRect, const QRect& rect);
60 // 计算正规矩形
61 QRect calcActualRect(const QRect& parentRect, const QRectF& normRect);
62
63protected:
64 // calc the normalized rectangle for a grid cell/获取网格单元格的归一化矩形
65 QRectF calcGridRect(int rowCnt,
66 int colCnt,
67 int row,
68 int col,
69 int rowSpan = 1,
70 int colSpan = 1,
71 qreal wspace = 0.0,
72 qreal hspace = 0.0) const;
73};
74
75#endif // QWT_FIGURE_LAYOUT_H
Custom layout manager for QwtFigureWidget that handles both normalized coordinates and grid layouts.
Definition qwt_figure_layout.h:19