首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QGraphicsView 坐标系统,该如何解决

2012-12-25 
QGraphicsView 坐标系统我定义了一个QGraphicsView 的子类,view,想在其上进行绘图代码如下:QGraphicsScene

QGraphicsView 坐标系统
我定义了一个QGraphicsView 的子类,view,想在其上进行绘图
代码如下:
         QGraphicsScene* scene = new QGraphicsScene;
scene->addText("Hello, Tab2!");
scene->addRect(QRectF(0,0,100,100));
scene->addLine(QLineF(QPoint(0,0),QPoint(100,100))) ;

view->setScene(scene);
QHBoxLayout* layput = new QHBoxLayout;
layput->addWidget(view);
setLayout(layput);
但是我现在绘制出来的无论是text、line还是rect都不是在屏幕的左上角,而是基本在居中的地方,请问这是为什么。。。

[最优解释]

引用:
我定义了一个QGraphicsView   的子类,view,想在其上进行绘图
代码如下:
                          QGraphicsScene*   scene   =   new   QGraphicsScene;
scene-> addText( "Hello,   Tab2! ");
scene-> addRect(QRectF(0,0,100,100)……


因为QGraphicsView默认的中心点位置是在 QPointF(0, 0)点, 所以你画的图形基本都是居中~``
可以通过centerOn来设置中心点位置~`
[其他解释]
大侠,我还是不明白啊,这个centerOn函数应该怎么用呢?
还有一个问题,我用view->size()想获取这个GraphicsView的大小
但是无论窗口有多大,这个size的值始终不变,这是怎么回事?
[其他解释]
引用:
大侠,我还是不明白啊,这个centerOn函数应该怎么用呢?
还有一个问题,我用view->size()想获取这个GraphicsView的大小
但是无论窗口有多大,这个size的值始终不变,这是怎么回事?


1. 当在场景中(scene)要显示的所有图形超出当前可视范围时, graphicsView会自动启用滚动条(scrollbar)用于控制场景的拖拽; 而这个时候centerOn函数也开始起作用, 而它的定位就相当于拖拽滚动条让控制视点位置。

2. view->size()这个你是在哪调用的? 如果是针对QGraphicsView, 它的大小是会随着窗口变化而变, 当然除了你没有进行布局@@
[其他解释]
引用:
引用:大侠,我还是不明白啊,这个centerOn函数应该怎么用呢?
还有一个问题,我用view->size()想获取这个GraphicsView的大小
但是无论窗口有多大,这个size的值始终不变,这是怎么回事?

1. 当在场景中(scene)要显示的所有图形超出当前可视范围时, graphicsView会自动启用滚动条(scrol……

怎么取消这GraphicsView中的滚动条啊
[其他解释]
引用:
引用:引用:大侠,我还是不明白啊,这个centerOn函数应该怎么用呢?
还有一个问题,我用view->size()想获取这个GraphicsView的大小
但是无论窗口有多大,这个size的值始终不变,这是怎么回事?

1. 当在场景中(scene)要显示的所有图形超出当前可视范围时, graphi……

解决了view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
       view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
希望能帮助到像我一样菜的人

热点排行