Witam!
W swoim projekcie stworzyłem sobie nową klase w oddzielnym pliku .cpp i plik nagłówkowy dla tej klasy .h, ale coś jest nie tak, mimo że struktura tych plików jest identyczna jak np. a plikach dla klasy MainWindow. Klasa którą tworze nie ma jednak żadnego formularza, jest klasą która modyfikuje działanie QGraphicsView aby można było rysować po elementach wyświetlanych w widgecie tego typu. Błędy linkera jakie dostaje:
mainwindow.obj:-1: błąd:LNK2019: unresolved external symbol "public: __cdecl MyQGraphicsView::MyQGraphicsView(class QWidget *)" (??0MyQGraphicsView@@QEAA@PEAVQWidget@@@Z) referenced in function "private: void __cdecl MainWindow::on_pushButton1_clicked(void)" (?on_pushButton1_clicked@MainWindow@@AEAAXXZ)
debug\abc.exe:-1: błąd:LNK1120: 1 unresolved externals
Macie może jakieś pomysły co może być nie tak?
plik nagłówkowy nowo tworzonej klasy:
#ifndef MyQGraphicsView_H
#define MyQGraphicsView_H
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QGraphicsEllipseItem>
#include <QMouseEvent>
namespace Ui {
class MyQGraphicsView;
}
class MyQGraphicsView : public QGraphicsView
{
Q_OBJECT
public:
explicit MyQGraphicsView(QWidget *parent = 0);
~MyQGraphicsView();
private slots:
void mousePressEvent(QMouseEvent * e);
void mouseReleaseEvent(QMouseEvent * e);
void mouseDoubleClickEvent(QMouseEvent * e);
void mouseMoveEvent(QMouseEvent * e);
private:
Ui::MyQGraphicsView *ui;
QGraphicsScene *scena;
};
#endif // MyQGraphicsView_H