Искам да внедря решетка в моя graphicsView, така че да пасва на graphicsView автоматично и когато увелича graphicsView, само размерът на блока на мрежата трябва да се увеличи, но не и ширината на линията на мрежата. Опитах следното, но нищо не се случи.
void CadGraphicsScene::grid(QPainter *painter, const QRectF &rect)
{
QPen pen;
painter->setPen(pen);
qreal left = int(rect.left()) - (int(rect.left()) % gridSize);
qreal top = int(rect.top()) - (int(rect.top()) % gridSize);
QVector<QPointF> points;
for (qreal x = left; x < rect.right(); x += gridSize){
for (qreal y = top; y < rect.bottom(); y += gridSize){
points.append(QPointF(x,y));
}
}
painter->drawPoints(points.data(), points.size());
}
Моля, помогнете ми да направя решетка.
QGraphicsView::drawBackground
метод? Това е, което използвах в моя проект и дебелината на линията на мрежата остава същата при увеличаване и намаляване, докато размерът на мрежата се променя. - person thuga   schedule 10.11.2014