当前位置: 代码迷 >> QT开发 >> Qt的视图框架下3个坐标有关问题
  详细解决方案

Qt的视图框架下3个坐标有关问题

热度:33   发布时间:2016-04-25 03:45:58.0
Qt的视图框架下3个坐标问题
各位请看我下面的代码
    // 创建场景
    QGraphicsScene *pScene = new QGraphicsScene;
    pScene->setSceneRect(QRectF(-200, -200, 400, 400));
    // 创建图元对象
    Heart *pHeart = new Heart;  // 类Heart从QGraphicsItem继承过来
    pHeart->setPos(-100, 0);
    // 将图元加入到场景
    pScene->addItem(pHeart);
    // 创建视图
    QGraphicsView *pView = new QGraphicsView;
    pView->setScene(pScene);
    pView->resize(400, 400);

就上面的代码,我想知道,在视图坐标下,场景的原点是多少,setSceneRect里面的坐标参数是基于哪个坐标系,
setPos里的参数基于哪个坐标系,谢谢各位的回答,最后有哪位仁兄知道怎么把视图窗口做成透明的么,但是场景下的图元仍可以正常显示,
 setWindowFlags(Qt::FramelessWindowHint); //把窗口设置成没框架的
 setStyleSheet("background: transparent;"); 
我试了不好使,谢谢各位的回答

------解决方案--------------------
正在迷惑中。。。。
------解决方案--------------------
1. setSceneRect:是窗口的坐标,即左上角是(0, 0)
2. 透明不规则窗口,参考:http://www.cppblog.com/biao/archive/2011/10/12/158175.html

------解决方案--------------------
1.场景的原点是(0, 0)点
2.pScene->setSceneRect(QRectF(-200, -200, 400, 400));这句设置scene的(-200, -200)点对应view的左上角(0, 0)点
3.setPos基于场景坐标系
  相关解决方案