MainPaintScenee.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef MAINPAINTSCENEE_H
  2. #define MAINPAINTSCENEE_H
  3. #include <QGraphicsScene>
  4. QT_BEGIN_NAMESPACE
  5. class QGraphicsSceneMouseEvent;
  6. class QMenu;
  7. class QPointF;
  8. class QFont;
  9. class QColor;
  10. QT_END_NAMESPACE
  11. #include "drawtool.h"
  12. #include "GraphicsTextItem.h"
  13. #include "GraphicsLineItem.h"
  14. class DrawTool;
  15. class MainPaintScene : public QGraphicsScene
  16. {
  17. Q_OBJECT
  18. public:
  19. explicit MainPaintScene(QObject *parent = 0);
  20. ~MainPaintScene();
  21. void mouseEvent(QGraphicsSceneMouseEvent *mouseEvent );
  22. void InsertPicture(QString path);
  23. void SetBackGroundImage(QString path);
  24. void setCurrentColor(QColor);
  25. public slots:
  26. void SetCurrentShape(DrawBaseShape shape);
  27. void editorLostFocus(GraphicsTextItem *item)
  28. {
  29. QTextCursor cursor = item->textCursor();
  30. cursor.clearSelection();
  31. item->setTextCursor(cursor);
  32. if (item->toPlainText().isEmpty()) {
  33. removeItem(item);
  34. item->deleteLater();
  35. }
  36. }
  37. signals:
  38. void itemSelected(QGraphicsItem *item);
  39. void textInserted(GraphicsTextItem *item);
  40. private:
  41. void keyPressEvent(QKeyEvent *event);
  42. void mousePressEvent(QGraphicsSceneMouseEvent *event);
  43. void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
  44. void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
  45. QColor _color=QColor(255,88,80,255);
  46. GraphicsTextItem *textItem=nullptr;
  47. };
  48. #endif // MAINPAINTSCENEE_H