求助QT中关于QGraphics 方面的几个小问题
教程上一个贪吃蛇的程序其中有段代码classSnake:publicQGraphicsItem{....QPointFhead;//1,这个head的坐标是处于哪个坐标系...
教程上一个贪吃蛇的程序其中有段代码
class Snake : public QGraphicsItem
{
....
QPointF head; //1,这个head的坐标是处于哪个坐标系?item,view还是scene
}
static const QReal SNAKE_SIZE=10;
QRectF Snake::boundingRect() const
{
qreal minX = head.x();
qreal minY = head.y();
qreal maxX = head.x();
qreal maxY = head.y();
foreach (QPointF p, tail)
{
maxX = p.x() > maxX ? p.x() : maxX;
maxY = p.y() > maxY ? p.y() : maxY;
minX = p.x() < minX ? p.x() : minX;
minY = p.y() < minY ? p.y() : minY;
}
QPointF tl = mapFromScene(QPointF(minX, minY)); //
QPointF br = mapFromScene(QPointF(maxX, maxY)); //2,mapfromscene在这里是什么意思
QRectF bound = QRectF(
tl.x(), // 3,item,scene,和view的原地分别在什么位置,中心还是左上?在这里t1.x(),t2.y()应该是左上角的坐标,从上面的QPointF t1的定义来看minX,minY应该也是左上角的,所以上面未转换之前的head所在的那个坐标系应该是原点在左上角的,这样说对么?
tl.y(), // y
br.x() - tl.x() + SNAKE_SIZE, // width //4,这两句怎么理解
br.y() - tl.y() + SNAKE_SIZE //height
);
return bound;
} 展开
class Snake : public QGraphicsItem
{
....
QPointF head; //1,这个head的坐标是处于哪个坐标系?item,view还是scene
}
static const QReal SNAKE_SIZE=10;
QRectF Snake::boundingRect() const
{
qreal minX = head.x();
qreal minY = head.y();
qreal maxX = head.x();
qreal maxY = head.y();
foreach (QPointF p, tail)
{
maxX = p.x() > maxX ? p.x() : maxX;
maxY = p.y() > maxY ? p.y() : maxY;
minX = p.x() < minX ? p.x() : minX;
minY = p.y() < minY ? p.y() : minY;
}
QPointF tl = mapFromScene(QPointF(minX, minY)); //
QPointF br = mapFromScene(QPointF(maxX, maxY)); //2,mapfromscene在这里是什么意思
QRectF bound = QRectF(
tl.x(), // 3,item,scene,和view的原地分别在什么位置,中心还是左上?在这里t1.x(),t2.y()应该是左上角的坐标,从上面的QPointF t1的定义来看minX,minY应该也是左上角的,所以上面未转换之前的head所在的那个坐标系应该是原点在左上角的,这样说对么?
tl.y(), // y
br.x() - tl.x() + SNAKE_SIZE, // width //4,这两句怎么理解
br.y() - tl.y() + SNAKE_SIZE //height
);
return bound;
} 展开
2个回答
展开全部
默认情况下,场景是无限大的。设置了一个有限的范围initScene()函数设置场景的范围,比如说是左上角在 (-100, -100),长和宽都是 200px 的矩形。。雹返庆Graphics View Framework 为每一个元素维护三个不同的坐标系:场景坐标,元素自己的坐标以及其相对于父组件的坐标。除了元素在场景中的源握位置,其它几乎所有位置都是相对于元素坐标系的。比如我们选择的矩形 (-100, -100, 200, 200),实际是设置了场景的坐标系。此时,如果一个元素坐标是 (-100, -100),那么它将出现在场景左上世弯角,(100, 100) 的坐标则是在右下角。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-12-05
展开全部
●采用最近最少使用页面先淘汰(LRU)的算法进行程序设计。
●程序应提示用户输入访问队列和使用的内存页架数,对于错误的知袭输入信息应给出提示。
●使用一个一维数组(如a[100])来存放访问队列,并以一个特殊字符作为队列的结束,如“*、$、#”等。
●使用歼猛汪一个二维数组b[内存块数][2]来存放每访问一个页面,给定内存块的状态及计数器的氏仔值,并随时输出当前状态,同时记录缺页次数,在最后显示出来。
●程序应提示用户输入访问队列和使用的内存页架数,对于错误的知袭输入信息应给出提示。
●使用一个一维数组(如a[100])来存放访问队列,并以一个特殊字符作为队列的结束,如“*、$、#”等。
●使用歼猛汪一个二维数组b[内存块数][2]来存放每访问一个页面,给定内存块的状态及计数器的氏仔值,并随时输出当前状态,同时记录缺页次数,在最后显示出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询