You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.1 KiB
C

#pragma once
#include <QObject>
#include <QGraphicsTextItem>
#include <QGraphicsSceneMouseEvent>
#include <QBrush>
#include <QDebug>
#include <QPen>
#include <QPainter>
#include <cmath>
#include "global.h"
#include "GlobalDefine.h"
class MyQGraphicsTextItem : public QGraphicsTextItem
{
Q_OBJECT
public:
enum TransformType {
NONE,
MOVE,
ROTATE,
SCALE
};
public:
MyQGraphicsTextItem(const QString &text, QGraphicsItem *parent = nullptr)
: QGraphicsTextItem(text, parent) {
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
~MyQGraphicsTextItem();
signals:
void signal_select(int id);
public:
void SetTextAttr(double x1, double y1);
protected:
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
private:
QLineF m_levelLine;
TransformType m_translteType;
QPointF m_mousePressDownPos; //<2F><><EFBFBD><EFBFBD><EAB0B4>ʱ<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>е<EFBFBD>λ<EFBFBD><CEBB>
public:
int m_id;
double charPosX = 0.0;
double charPosY = 0.0;
double charWidth = 0.0;
double charHeight = 0.0;
QString charContent;
};