#ifndef HANDLETEXT_H #define HANDLETEXT_H #include #include "graphicsItem/itemControlHandle.h" int const TEXT_WIDTH = 30; int const TEXT_HEIGHT = 15; class QGraphicsProxyWidget; class HandleText : public ItemControlHandle { Q_OBJECT public: HandleText(QGraphicsItem *parent); virtual ~HandleText(); void setText(QString); void creatEditor(); //创建editor编辑文本 void setEditable(bool b){_editable = b;} protected: virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override; virtual QRectF boundingRect() const override; private: QString _text; QFont _font; QRectF _boundingRect; QGraphicsProxyWidget* _proxy; bool _editable; }; #endif