DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAGraphicsItemGroup.h
1#ifndef DAGRAPHICSITEMGROUP_H
2#define DAGRAPHICSITEMGROUP_H
3#include <QGraphicsItemGroup>
4#include "DAUtils/DAXMLFileInterface.h"
5#include "DAGraphicsViewGlobal.h"
6class QDomDocument;
7class QDomElement;
8class QGraphicsSceneHoverEvent;
9namespace DA
10{
14class DAGRAPHICSVIEW_API DAGraphicsItemGroup : public QGraphicsItemGroup, public DAXMLFileInterface
15{
16 DA_DECLARE_PRIVATE(DAGraphicsItemGroup)
17public:
21 enum
22 {
24 };
25 virtual int type() const override
26 {
27 return (Type);
28 }
29
30public:
31 DAGraphicsItemGroup(QGraphicsItem* parent = nullptr);
33 // 保存到xml中,注意,这里不会保存子item
34 virtual bool saveToXml(QDomDocument* doc, QDomElement* parentElement,const QVersionNumber& ver) const override;
35 virtual bool loadFromXml(const QDomElement* parentElement,const QVersionNumber& ver) override;
36 // 设置边框画笔,如果设置一个QPen,则不绘制边框
37 void setBorderPen(const QPen& p);
38 QPen getBorderPen() const;
39 // 设置是否显示边框
40 void setShowBorder(bool on);
41 bool isShowBorder() const;
42 // 背景
43 void setBackgroundBrush(const QBrush& b);
44 QBrush getBackgroundBrush() const;
45 // 设置是否显示背景
46 void setShowBackground(bool on);
47 bool isShowBackground() const;
48 // 获取item的id,id是这个id唯一的标识,id主要为了能单独的找到这个item,在分组加载时使用
49 uint64_t getItemID() const;
50 void setItemID(uint64_t id);
51 // 获取分组下的分组
52 QList< DAGraphicsItemGroup* > childGroups() const;
53 // 获取不包含分组的子item
54 QList< QGraphicsItem* > childItemsExcludingGrouping() const;
55
56public:
57 virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
58 virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant& value) override;
59};
60
61}
62
63#endif // DAGRAPHICSITEM_H
QGraphicsItemGroup的继承
Definition DAGraphicsItemGroup.h:15
所有支持xml文件保存的类继承于它,从而提供saveToXml和loadFromXml接口
Definition DAXMLFileInterface.h:29
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44
@ ItemType_DAGraphicsItem
针对DAGraphicsResizeableItem的类型
Definition DAGraphicsViewGlobal.h:75