找回密码
 立即注册
收起左侧

Qt里的QGraphicsScene::items:没有重载函数接受5个参数

2
回复
8881
查看
[复制链接]
累计签到:69 天
连续签到:1 天
来源: 2016-7-8 13:57:46 显示全部楼层 |阅读模式
1Qter豆
我用的是Qt5.6 Vs2015编译器,写的是Qt开发实战精解里的方块游戏的例子。
代码如下:
foreach(QGraphicsItem *item,scene()->items(199,49,202,row-47,Qt::ContainsItemShape))
报错如下:
G:\file_from_QT\myGame\myview.cpp:59: error: C2661: “QGraphicsScene::items”: 没有重载函数接受 5 个参数

我查了帮助文档如下:
QList<QGraphicsItem *> QGraphicsView::items(int x, int y, int w, int h, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape) const
This convenience function is equivalent to calling items(QRectF(x, y, w, h), mode).
This function was introduced in Qt 4.3.

这不就是有接受5个参数的函数么,为什么会提示没有?
这个问题要怎么解决?


回复

使用道具 举报

累计签到:69 天
连续签到:1 天
2016-7-8 14:13:42 显示全部楼层
是scene()的问题,QGraphicsScene()类里是没有这个重载函数 ,我查的那个是QGraphicsView类的
回复

使用道具 举报

累计签到:69 天
连续签到:1 天
2016-7-8 14:43:14 显示全部楼层
解决了,是因为在Qt5.6里的scene()->items()要有六个参数,多加一个Qt::AscendingOrder就可以了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了