这个问题在这里已有答案:
我莫名其妙地无法访问类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);
}
你需要
#include <QGraphicsSceneMouseEvent>
对于要定义的类型。
尽可能在实现文件中执行此操作,而不是标头。无需导入比必要更广泛的代码。