在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);