#ifndef HANDLETEXT_H #define HANDLETEXT_H #include #include "graphicsItem/itemControlHandle.h" int const TEXT_WIDTH = 80; int const TEXT_HEIGHT = 40; class QGraphicsProxyWidget; class HandleText : public ItemControlHandle { Q_OBJECT public: HandleText(QGraphicsItem *parent); virtual ~HandleText(); virtual void setText(QString) override; virtual QString getText() const override; void creatEditor(); //创建editor编辑文本 void setEditable(bool b){_editable = b;} void setIndex(int n) {_nIndex = n;} int getIndex(){return _nIndex;} void setTagName(QString s){_sTagName = s;} QString getTagName(){return _sTagName;} void setPara(QString s){_sPara = s;} QString getPara(){return _sPara;} void setType(int n) {_type = n;} signals: void editFinish(const QString&); 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; int _nIndex; QString _sTagName; //监控数据的tag QString _sPara; //监控数据的查询参数 int _type; //0normal 1dynamic }; #endif