我以某种方式无法访问类QGraphicsSceneMouseEvent。我不明白问题是什么。
当我想访问mouseEvent时发生错误。
HEADER
#ifndef SCHAAKBORDUI_H
#define SCHAAKBORDUI_H
#include <QGraphicsScene>
#include "schaakbordvakjeui.h"
class QGraphicsSceneMouseEvent;
class SchaakbordUi : public QGraphicsScene {
public:
SchaakbordUi();
private:
bool vakjeGeselecteerd;
schaakbordVakjeUi *geselecteerd = nullptr;
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent);
};
#endif // SCHAAKBORDUI_H
来源
#include "schaakbordui.h"
#define BREEDTE_BORD 8
SchaakbordUi::SchaakbordUi() {
vakjeGeselecteerd = false;
for (int i = 0; i < BREEDTE_BORD; i++) {
for (int j = 0; j < BREEDTE_BORD; j++) {
this->addItem(new schaakbordVakjeUi(i * 100, j * 100));
}
}
}
void SchaakbordUi::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent) {
if (mouseEvent->button == Qt::LeftButton);
}
答案 0 :(得分:0)
您需要
#include <QGraphicsSceneMouseEvent>
用于定义类型。
在可能的情况下在实现文件中执行此操作,而不在标头中执行。无需导入比必要范围更广的代码。