34 lines
772 B
C
34 lines
772 B
C
|
|
#ifndef HANDLETEXT_H
|
||
|
|
#define HANDLETEXT_H
|
||
|
|
|
||
|
|
#include <QFont>
|
||
|
|
#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
|