我有一个标准的 Graphicviewclass
#ifndef INPUTGRAPHICVIEW_H
#define INPUTGRAPHICVIEW_H
#include <QGraphicsView>
#include <QPaintEvent>
class InputGraphicView : public QGraphicsView
{
public:
InputGraphicView(QWidget* parent= NULL);
protected:
//Take over the interaction
virtual void wheelEvent(QWheelEvent* event);
virtual void mousePressEvent(QMouseEvent *e);
// void mouseMoveEvent(QMouseEvent* event);
private:
QGraphicsScene* Scene;
QGraphicsEllipseItem* ellipse;
std::vector<QGraphicsPolygonItem*> polygon_graphic;
};
#endif // INPUTGRAPHICVIEW_H
我的问题是我想在 Graphicview 中间有一个正常的固定坐标系。这样我的 x 和 ye [-5,5] 就不会更多了。
但我不明白坐标系的概念,我有我的场景,原点(0,0)在中间?
我试过了
setSceneRect(-5, -5, 5, 5);
但是当我使用我的
void InputGraphicView::mousePressEvent(QMouseEvent *e)
{
QPointF point;
point=mapToScene(e->pos().x(),e->pos().y());
std::cout << point.x() << ", " << point.y() << std::endl;
}
我得到其他坐标。我的出身在中间,但我得到的值是 500 或更多。你知道我能做什么吗?我如何获得具有固定边界的固定坐标系?