CTextItem.h 730 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef CTEXTITEM_H
  2. #define CTEXTITEM_H
  3. #include <QGraphicsTextItem>
  4. class CTextItem : public QGraphicsTextItem
  5. {
  6. Q_OBJECT
  7. public:
  8. explicit CTextItem(QGraphicsItem *parent = nullptr);
  9. explicit CTextItem(const QString &text = QString(), QGraphicsItem *parent = nullptr);
  10. virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override;
  11. void keyPressEvent(QKeyEvent *event) override;
  12. void beginEditing();
  13. void endEditing();
  14. bool isEditing() const;
  15. bool allowEdit() const;
  16. void setAllowEdit(bool a);
  17. static QSizeF textSize(const QString t, qreal width = -1);
  18. signals:
  19. void sigTextChanged();
  20. private:
  21. bool m_allowEdit = true;
  22. };
  23. #endif // CTEXTITEM_H