#ifndef ELECTRICFUNCTIONMODELITEMTEXT_H #define ELECTRICFUNCTIONMODELITEMTEXT_H /*****************自定义文字*******************/ #include #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