我正在试着用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功能来移动图像。
发布于 2012-01-21 23:07:43
事情不是这样的。图像不会显示,因为您没有执行任何可以显示它的操作。你从image.rect()得到的rect只是一组数字。它没有以任何方式连接到图像,所以更改它不会改变图像,无论它是否显示。
这里有四种方法可以做你想做的事情:
paintEvent(QPaintEvent*),并使用QPainter的drawImage例程之一在所需位置绘制图像。QLabel,设置其图标,并使用布局将其放置在所需位置。H111使用任何类型的D12,并使用背景图像设置C13。同样,使用布局(或绝对定位)将其放置在所需位置。如果需要大量此类元素,请使用C16框架。<代码>H217<代码>G218
根据您的确切需求,还有一些其他的变体。查看painting examples和QPainter文档。
https://stackoverflow.com/questions/8953871
复制相似问题