DiagramDesigner/diagramCavas/include/graphicsItem/functionModelItem/electricFunctionModelItemTe...

48 lines
1.4 KiB
C++

#ifndef ELECTRICFUNCTIONMODELITEMTEXT_H
#define ELECTRICFUNCTIONMODELITEMTEXT_H
/*****************自定义文字*******************/
#include <QFont>
#include "graphicsFunctionModelItem.h"
class ElectricFunctionModelItemText :public GraphicsFunctionModelItem
{
Q_OBJECT
public:
Q_PROPERTY(QString Text READ getText WRITE setText)
Q_PROPERTY(QColor Color READ getTextColor WRITE setTextColor)
Q_PROPERTY(QColor BackColor READ getBackColor WRITE setBackColor)
Q_PROPERTY(int FontSize READ getFontSize WRITE setFontSize)
public:
ElectricFunctionModelItemText(QGraphicsItem *parent = 0);
virtual ~ElectricFunctionModelItemText();
void setText(const QString& text);
QString getText() {return m_text;}
void setTextColor(const QColor&);
QColor getTextColor() {return m_textColor;}
void setBackColor(const QColor& color) {m_backgroundColor = color;}
QColor getBackColor() {return m_backgroundColor;}
void setFontSize(int n);
int getFontSize() {return m_font.pointSize();}
void setBackgroundVisible(bool visible) {m_backgroundVisible = visible;}
protected:
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
private:
void initial();
void updateBoundingRect();
QString m_text;
QColor m_textColor;
QColor m_backgroundColor = QColor(240, 240, 240, 100);
QFont m_font = QFont("Arial", 12);
bool m_backgroundVisible = false;
};
#endif