QgraphicsPixmapitem を介して追加されたキャラクターがあり、キーボードの矢印キーを押して移動したいと考えています。しかし、私は方法を見つけることができません。コンパイルエラーが発生します。お願い助けて!
moveship.h (私の QPixmapItem のヘッダー ファイル)
#ifndef MOVESHIP_H
#define MOVESHIP_H
#include <QGraphicsPixmapItem>
class moveship: public QGraphicsPixmapItem
{
public:
void keyPressEvent(QKeyEvent *event);
};
#endif // MOVESHIP_H
キーの押下を認識するかどうかを確認しているだけです。
keyPressEvent の実装:
#include "moveship.h"
#include <QDebug>
void moveship::keyPressEvent(QKeyEvent *event)
{
qDebug() << "moved";
}
私の主なソースファイル:
#include<QApplication>
#include<QGraphicsScene>
#include<QGraphicsView>
#include<QGraphicsPixmapItem>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGraphicsScene * scene = new QGraphicsScene();
QGraphicsView * view = new QGraphicsView(scene);
QPixmap q = QPixmap("://images/player.png");
if(q.isNull())
{
printf("null\n");
}
else
{
moveship * player = new moveship(q);
scene->addItem(player);
}
view->resize(500,500);
view->show();
return a.exec();
}
助けてください :(
編集:
私が得るコンパイルエラーは次のとおりです。
エラー: 'moveship::moveship(QPixmap&)' の呼び出しに一致する関数がありません
moveship * player = new moveship(q);