将图像绘制为背景的最简单方法是QGraphicsRectItem
什么?我可以按如下方式设置背景,但无法缩放图像:
QGraphicsRectItem *enemyItem;
QImage *image = new QImage(":/PaperMario.png");
QBrush *brush = new QBrush(*image);
enemyItem = new QGraphicsRectItem();
enemyItem->setBrush(*brush);
enemyItem->setRect(enemy->getXPos()*30,enemy->getYPos()*30,30,30);
scene->addItem(enemyItem);
在 QGraphicsRectItem 里面
void MySquare::setBrush(QColor _color){
color = _color;
color_pressed = _color;
update(); //repaint
}
我已经尝试过使用:
QBrush *brush = new QBrush(*image->scaled(10));
但我被困住了:不想编译。这是这样做的方法吗?
编辑:
QImage *image = new QImage(":/PaperMario.png");
QImage *scaled_image = new QImage(image->scaled(35,35,Qt::KeepAspectRatio));
QBrush *brush = new QBrush(*scaled_image);
确实绘制了它,但它仍然在绘图中多次显示图像