48 lines
1.4 KiB
C++
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
|