Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

31 linhas
841 B

  1. #ifndef MYSCENE_H
  2. #define MYSCENE_H
  3. #include <QGraphicsScene>
  4. class MyScene : public QGraphicsScene
  5. {
  6. Q_OBJECT
  7. public:
  8. explicit MyScene(QObject *parent = nullptr);
  9. // 网格属性设置
  10. void setGridSize(int size) { gridSize = size; }
  11. int getGridSize() const { return gridSize; }
  12. void setGridColor(const QColor &color) { gridColor = color; }
  13. QColor getGridColor() const { return gridColor; }
  14. void setSnapToGrid(bool snap) { snapToGrid = snap; }
  15. bool getSnapToGrid() const { return snapToGrid; }
  16. void drawBackground(QPainter *painter, const QRectF &rect) override;
  17. private:
  18. int gridSize = 20; // 网格大小(像素)
  19. QColor gridColor = QColor(220, 220, 220); // 网格颜色(浅灰色)
  20. bool snapToGrid = true; // 是否启用对齐网格
  21. };
  22. #endif // MYSCENE_H