qDebug()<<"dest city pos="<<clickedCity.second->mapToScene(clickedCity.second->boundingRect());
qDebug()<<"path end pos="<<clickedCity.first->mapToScene(path->pointAtPercent(1.0));
if(clickedCity.second->mapToScene(clickedCity.second->boundingRect())
.contains(clickedCity.first->mapToScene(path->pointAtPercent(1.0))));
{
。。。。。。。。。。。。
qDebug()<<clickedCity.second->mapToScene(clickedCity.second->boundingRect());
qDebug()<<selectedDiv->destCity->mapToScene(newPath->pointAtPercent(1.0));
if(clickedCity.second->mapToScene(clickedCity.second->boundingRect())
.contains(selectedDiv->destCity->mapToScene(newPath->pointAtPercent(1.0))))
{
。。。。。。。。。。。。。。。。。。。。。。。。。
第一组代码QDEBUG()输出结果:
est city pos= QPolygonF(QPointF(195, -75)QPointF(245, -75)QPointF(245, -25)QPointF(195, -25)QPointF(195, -75))
path end pos= QPointF(220, -50)
第二组代码QDEBUG()输出结果:
QPolygonF(QPointF(-125, -225)QPointF(-75, -225)QPointF(-75, -175)QPointF(-125, -175)QPointF(-125, -225))
QPointF(-100, -200)
可以看出,两个I语句的判断都为真,都应进入IF程序块,可是实际上,只是第一组进入了,第二组就是进不了,似乎判断为FALSE,这是怎么回事????????????????
还有就是,BOUNDINGRECTF()明明返回的是QRECTF,这里为什么返回QPOLYGONF?