{
public:
GridScene(qreal x, qreal y, qreal w, qreal h)
{ }
protected:
{
const int gridSize = 25;
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
));
qDebug() << lines.size();
painter->drawLines(lines.data(), lines.size());
}
};
int main(int argc, char **argv)
{
GridScene scene(-1000, -1000, 2000, 2000);
view.rotate(33);
view.show();
return app.exec();
}
class GridScene : public QGraphicsScene
{
public:
GridScene(qreal x, qreal y, qreal w, qreal h)
: QGraphicsScene(x, y, w, h)
{ }
protected:
void drawBackground(QPainter *painter, const QRectF &rect)
{
const int gridSize = 25;
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));
qDebug() << lines.size();
painter->drawLines(lines.data(), lines.size());
}
};
int main(int argc, char **argv)
{
QApplication app(argc, argv);
GridScene scene(-1000, -1000, 2000, 2000);
QGraphicsView view(&scene);
view.rotate(33);
view.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks