簡體   English   中英

GraphicsView中的網格

[英]Grid in GraphicsView

我想在我的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());
}

請幫我做一個網格。

1)使用化妝筆(寬度為零)2)通過QT習語,圖形場景與視圖無關(關於您在graphicsview中的縮放問題),但是您可以從傳遞的QPainter對象(QPainter * painter)-QPainter中提取視圖的縮放系數:: worldTransform-> QTransform :: m11(horz_Scale)和QTransform :: m22(vert_Scale)-在這種情況下,您可以重新計算網格錨(對於100%縮放,QTransform :: m11 == QTransform :: m22 == 1) '飛'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM