我正在尝试用Qt制作游戏,但我无法加载图像。
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
image.load("F:/My Workspace/sprite.png");
rect = image.rect();
rect.moveTo(5,5);
}
这是窗口的构造函数。图像没有显示出来。我知道如何使用QLabel显示图像,但我想使用QRect功能,以便我可以移动图像。
答案 0 :(得分:4)
这不是事情的运作方式。不显示图像,因为您没有做任何会显示它的图像。您从rect
获得的image.rect()
只是一组数字。它没有以任何方式连接到图像,因此更改它不会改变图像是否显示。
以下是四种方法:
paintEvent(QPaintEvent*)
,并使用QPainter
的{{3}}例程之一绘制图像。QLabel
,设置其图标,并使用布局将其放置在您想要的位置。QWidget
,并将drawImage
设置为背景图片。再次,使用布局(或绝对定位)将其放在您想要的位置。根据您的具体要求,还有其他一些变体。查看Graphics View和painting examples文档。