我有一个继承自QGraphicsObject
的班级,我有一辆私人QPixmap
变量汽车。我想做的就是在场景中绘制这个汽车图像。我想画很多像这样的车。我需要知道两辆车是否相互碰撞。我重写了两个函数boundingRect()和shape(),但它不起作用。例如,这是我的代码:
QRectF Car::boundingRect() const
{
return QRectF(QPointF(0,0),car.size());
}
QPainterPath Car::shape() const
{
QPainterPath path;
path.addRect(boundingRect());
return path;
}
在main.cpp中,我测试它是这样的:
Car item(Car::RIGHT,10);
item.setPos(QPoint(95,52));
Car item1(Car::RIGHT,10);
item1.setPos(QPoint(95,54));
//item.start();
scene.addItem(&item);
scene.addItem(&item1);
//qDebug()<< item.boundingRect();
if(item.collidesWithItem(&item1)){
qDebug()<<"item collides with item1";
}
但它不打印“项目与item1碰撞”我认为。出了什么问题?