【问题标题】:converting scene coordinates to graph coordinates将场景坐标转换为图形坐标
【发布时间】:2013-04-09 14:03:35
【问题描述】:

我有一个 (0, 0, 2000, 2000) 协调为矩形的场景。 现在我只想在场景上绘制一些点,比如图形坐标

like (-x, +y , +x, -y) 场景中的物品。

考虑有一个笛卡尔坐标点xMin, xMax, yMin, yMax 所以我把它做成 QGraphicsPolyGonItem 。 但是不知道怎么添加到场景中作为场景中的图形坐标点。

【问题讨论】:

    标签: qt qgraphicsview qgraphicsscene


    【解决方案1】:

    场景由 QRect 定义(参见其构造函数)。所以,如果你这样定义你的场景:

    QGraphicsScene scene( -1000, -1000, 2000, 2000 );
    QGraphicsView view;
    view.setScene( scene );
    QGraphicsRectItem* it = new QGraphicsRectItem( -10, -10, 20, 20)
    scene.addItem( it ); // draw a rectangle
    it.setPos( 0, 0 ); // Move to (0;0) and at the center of the view
    

    坐标可以在 (-1000 ; -1000) 和 (1000 ; 1000) 之间。

    【讨论】:

    • 首先感谢您的回复.. 但这就像更改 QGraphicsScene 的坐标.. 我需要根据场景坐标映射项目。说清楚..我可以将笛卡尔坐标点映射到法线 0、0、2000、2000 ..请帮帮我..