DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAGraphicsPixmapItem.h
1#ifndef DAGRAPHICSPIXMAPITEM_H
2#define DAGRAPHICSPIXMAPITEM_H
3#include "DAGraphicsViewGlobal.h"
4#include <QGraphicsPixmapItem>
5#include <QPixmap>
6#include "DAGraphicsResizeableItem.h"
7namespace DA
8{
12class DAGRAPHICSVIEW_API DAGraphicsPixmapItem : public DAGraphicsResizeableItem
13{
14 Q_OBJECT
15 DA_DECLARE_PRIVATE(DAGraphicsPixmapItem)
16public:
20 enum
21 {
23 };
24 int type() const override
25 {
26 return (Type);
27 }
28
29public:
30 DAGraphicsPixmapItem(QGraphicsItem* parent = nullptr);
31 DAGraphicsPixmapItem(const QPixmap& pixmap, QGraphicsItem* parent = nullptr);
32 DAGraphicsPixmapItem(QPixmap&& pixmap, QGraphicsItem* parent = nullptr);
34 // 移动操作
35 void setMoveable(bool on = true);
36 bool isMoveable() const;
37 // 选择操作
38 void setSelectable(bool on = true);
39 bool isSelectable() const;
40 // 图片操作
41 void setPixmap(const QPixmap& pixmap);
42 const QPixmap& getPixmap() const;
43 const QPixmap& getOriginPixmap() const;
44 // 图片属性设置
45 void setTransformationMode(Qt::TransformationMode t);
46 Qt::TransformationMode getTransformationMode() const;
47 // 图片缩放属性设置
48 void setAspectRatioMode(Qt::AspectRatioMode t);
49 Qt::AspectRatioMode getAspectRatioMode() const;
50 // 判断是否存在有效图片
51 bool isHaveValidPixmap() const;
52 // 设置透明度
53 void setAlpha(int a);
54 int getAlpha() const;
55 // 接口函数
56 virtual void setBodySize(const QSizeF& s) override;
57 // 保存到xml中
58 virtual bool saveToXml(QDomDocument* doc, QDomElement* parentElement, const QVersionNumber& ver) const override;
59 virtual bool loadFromXml(const QDomElement* itemElement, const QVersionNumber& ver) override;
60signals:
61 void itemPosChange(const QPointF& oldPos, const QPointF& newPos);
62
63protected:
64 virtual void paintBody(QPainter* painter,
65 const QStyleOptionGraphicsItem* option,
66 QWidget* widget,
67 const QRectF& bodyRect) override;
68
69private:
70};
71}
72#endif // DAGRAPHICSPIXMAPITEM_H
支持缩放编辑的图片item
Definition DAGraphicsPixmapItem.h:13
用于调整大小的item
Definition DAGraphicsResizeableItem.h:48
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44
@ ItemType_DAGraphicsPixmapItem
针对DAGraphicsPixmapItem的类型
Definition DAGraphicsViewGlobal.h:85