gpt4 book ai didi

c++ - 用 QImage 和 QRect 显示图像

转载 作者:太空狗 更新时间:2023-10-29 21:05:48 25 4
gpt4 key购买 nike

我正在尝试使用 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 功能以便移动图像。

最佳答案

事情不是这样的。图像没有显示,因为您没有做任何会显示它的事情。而您从 image.rect() 获得的 rect 只是一组数字。它与图像没有任何关系,因此无论是否显示,更改它都不会改变图像。

这里有四种方法可以做你想做的事:

  1. 覆盖 paintEvent(QPaintEvent*),并使用 QPainterdrawImage 之一在您想要的位置绘制图像例程。
  2. 使用 QLabel,设置其图标,并使用布局将其放置在您想要的位置。
  3. 使用任何类型的QWidget,并设置style sheet与背景图像。同样,使用布局(或绝对定位)将其放置在您想要的位置。
  4. 使用Graphics View如果您需要大量此类元素,则可以使用框架。

根据您的具体要求,还有一些其他变体。查看painting examples , 和 QPainter文档。

关于c++ - 用 QImage 和 QRect 显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8953871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com