在我的代码中,每次我的应用程序获取 GPS 坐标时,我都会尝试绘制点。这些点向右和向下移动“i”个像素。我希望他们保持绘制状态,但似乎整个屏幕总是更新,即使我使用的是 QRegion 参数,该参数旨在指定屏幕上应该更新的区域。请问有人可以帮忙吗?我对此很陌生,不知道出了什么问题。
这是处理此操作的类:
GameField::GameField(QWidget *parent)
: QWidget(parent)
{
i=5;
j=0;
pen=new QPen(Qt::black, 1, Qt::SolidLine);
painter= new QPainter(this);
}
void GameField::paintEvent(QPaintEvent *event)
{
painter.setPen(pen);
painter.drawPoint(i,i,1,1);
}
void GameField::positionUpdated(QGeoPositionInfo position) {
QGeoCoordinate coordinates;
if (position.isValid()) {
coordinates = position.coordinate();
}
i=i+5;
QRegion region(QRect(i,i,5,5));
this->update(region);
}