DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAStandardItemPlotScale.h
1#ifndef DASTANDARDITEMPLOTSCALE_H
2#define DASTANDARDITEMPLOTSCALE_H
3#include "DAFigureAPI.h"
4#include <QStandardItem>
5#include "qwt_axis_id.h"
6class QwtScaleWidget;
7class QwtPlot;
8namespace DA
9{
13class DAStandardItemPlotScale : public QStandardItem
14{
15public:
16 enum
17 {
18 Type = QStandardItem::UserType + 2 // 任意 >= UserType 的值
19 };
29 explicit DAStandardItemPlotScale(QwtPlot* plot, QwtAxisId axisid, ItemType plotScaleType);
31 QVariant data(int role = Qt::UserRole + 1) const override;
32 QVariant handleItemTextType(int role) const;
33 QVariant handleItemVisibleType(int role) const;
34 QVariant handleScalePropertyType(int role) const;
35 int type() const override
36 {
37 return Type;
38 }
39 // 获取关联的PlotItem
40 QwtPlot* plot() const
41 {
42 return m_plot;
43 }
44
45 QwtAxisId axisId() const
46 {
47 return m_axisId;
48 }
49 // 获取Item类型
50 ItemType itemType() const
51 {
52 return m_itemType;
53 }
54
55 bool isValid() const
56 {
57 return (m_plot && (m_axisId != QwtAxis::AxisPositions));
58 }
59 // 获取坐标轴的类型文本,线性轴、时间轴、对数轴等
60 QString axisScaleTypeString(const QwtPlot* plot, QwtAxisId axisId);
61 // 坐标轴id对应文本
62 static QString axisIdToText(QwtAxisId id);
63
64private:
65 QwtPlot* m_plot { nullptr };
66 QwtAxisId m_axisId { QwtAxis::AxisPositions };
67 ItemType m_itemType { PlotScaleText };
68};
69} // end DA
70#endif // DASTANDARDITEMPLOTSCALE_H
针对坐标轴QwtScaleWidget的StandardItem类
Definition DAStandardItemPlotScale.h:14
QVariant handleItemTextType(int role) const
处理文字显示
Definition DAStandardItemPlotScale.cpp:50
ItemType
指定这个item的类型
Definition DAStandardItemPlotScale.h:24
@ PlotScaleText
只显示QwtScaleWidget的文字和图标,用于树形第一列
Definition DAStandardItemPlotScale.h:25
@ PlotScaleVisible
显示QwtScaleWidget的可见性,一般用于第二列
Definition DAStandardItemPlotScale.h:26
@ PlotScaleProperty
显示QwtScaleWidget的属性,一般用于第三列
Definition DAStandardItemPlotScale.h:27
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44