|
- #include "myscene.h"
- #include <QPainter>
-
- MyScene::MyScene(QObject *parent) : QGraphicsScene(parent)
- {
-
- }
-
- void MyScene::drawBackground(QPainter *painter, const QRectF &rect)
- {
- QGraphicsScene::drawBackground(painter, rect);
-
- // 设置画笔
- QPen pen(gridColor);
- pen.setWidth(1);
- painter->setPen(pen);
-
- // 计算网格线
- qreal left = int(rect.left()) - (int(rect.left()) % gridSize);
- qreal top = int(rect.top()) - (int(rect.top()) % gridSize);
-
- QVarLengthArray<QLineF, 100> lines;
-
- for (qreal x = left; x < rect.right(); x += gridSize) {
- lines.append(QLineF(x, rect.top(), x, rect.bottom()));
- }
-
- for (qreal y = top; y < rect.bottom(); y += gridSize) {
- lines.append(QLineF(rect.left(), y, rect.right(), y));
- }
-
- // 绘制网格
- painter->drawLines(lines.data(), lines.size());
- }
|