1. 程式人生 > >qt中Graphic中 View的座標和Scene的座標不匹配的問題

qt中Graphic中 View的座標和Scene的座標不匹配的問題

在QT中使用QGraphicView 和QGraphicsSce  時,會遇到一個這樣一個問題:Scene中繪製圖的座標與View顯示座標不符。

例如:直接在scene中新增直線,並且設定起點是0,0。但是我們會發現他的起點並不是0,0。如下圖

    scene.addLine(test.set_x(0),test.set_y(0),test.set_x(50),test.set_y(0));
    scene.addLine(0,0,100,100);

為了解決這個問題,我們呼叫Scene的方法setSceneRect方法,如圖:

    scene.setSceneRect(0,0,this->ui->graphicsView->width(),this->ui->graphicsView->height());
    scene.addLine(test.set_x(0),test.set_y(0),test.set_x(50),test.set_y(0));
    scene.addLine(0,0,100,100);