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.
|
|
|
|
#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;
|
|
|
|
|
};
|