gpt4 book ai didi

c++ - QPixmap 图像不出现

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:58 26 4
gpt4 key购买 nike

我是 Qt 的新手,我正在用它制作游戏。我想显示图标,但在放置一些代码后我无法在任何地方找到它。我很困惑,因为我没有收到任何错误,所以我很确定我只是没有添加任何东西。帮助。

战斗.h文件

#ifndef COMBAT
#define COMBAT

#include <QImage>
#include <QGraphicsPixmapItem>

class Combat: public QGraphicsPixmapItem{
public:
// constructors
//Combat(QPixmap *parent=NULL);
Combat(const QString x);

// setters/getters
void getOwner(QString x);

private:
QString owner;
};

战斗.cpp

#include "Combat.h"
#include <QGraphicsScene>


Combat::Combat(const QString x){
// draw graphics
setPixmap(QPixmap(x));
}

void Combat::getOwner(QString x){
owner = x;
}

#endif // COMBAT

接口(interface).h

#ifndef INTERFACE
#define INTERFACE

#include <QList>
#include "Hex.h"
#include "Combat.h"

class Interface{
public:
// constructors
Interface();

// getters/setters
QList<Hex*> getHexes();

void getOwner(int x);

// public methods
void placeHexes();
void placeCombat();


private:
void createHexColumn(int x, int y, int numOfRows);
QList<Hex*> hexes;
void createCombatIcon(int x, int y, QString z);
int owner;
};

#endif // INTERFACE

接口(interface).cpp

#include "Interface.h"
#include "Game.h"

extern Game* game;


Interface::Interface(){

}

QList<Hex *> Interface::getHexes(){
return hexes;
}

void Interface::placeHexes(){
createHexColumn(100,100,6);
}

void Interface::placeCombat()
{
createCombatIcon(100,100,":/grafika/atak_magiczny.png");
}

void Interface::createCombatIcon(int x, int y, QString z)
{
Combat* icon = new Combat(z);
icon->getOwner("player1");
icon->setPos(x,y);
game->scene->addItem(icon);
}

不知道哪里漏了

最佳答案

我通过将图形添加到 Qt Creator 中的资源文件解决了这个问题...

关于c++ - QPixmap 图像不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47562793/

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