Seite 1 von 1

Problem bei Ableitung

Verfasst: 25. Mai 2010 20:14
von anno1988
Hallo,

ich habe da ein problem bei der ableitung einer Klasse.

Hat da jemand eine Idee warum das nciht funktioniert?

Code: Alles auswählen


#include <QGraphicsView>
#include <QMessageBox>
#include <QScrollBar>

class View : public QGraphicsView {

	Q_OBJECT

	protected:
		QScrollBar *bar;


	public:
		View();

	protected slots:
		void scrolled1(int value);

};

View::View() {

		bar = verticalScrollBar();

		connect(bar, SIGNAL(valueChanged(int)), this, SLOT(scrolled1(int)));

	}

	void View::scrolled1(int value) {

		QMessageBox msg;

		msg.setText("test");
		msg.exec();

	}

Ich bekomme da immer den Fehler:

Code: Alles auswählen

undefined reference to `vtable for View'

Verfasst: 25. Mai 2010 20:33
von Christian81
Standard-Problem - Header nicht in der pro-Datei eingetragen. Forensuche würde aber auch helfen.

Verfasst: 25. Mai 2010 20:34
von franzf
Standardfehler: "view.h" nicht unter HEADERS im .pro.
// edit: zu spät :D

Verfasst: 25. Mai 2010 20:51
von anno1988
Kann es sein, dass Q_OBJECT nur nach den Dateinamen sucht, die genau exakt so heißen wie die Klasse, die man erstellt hat?

Denn mein Dateiname war "view_test.h" und dieser war in der .ppro Datei eingetragen. Gefunden wurd es aber erst, als ich den namen in view.h geändert habe.

Verfasst: 25. Mai 2010 21:24
von Christian81
Du trägst eine nicht-existierende Header-Datei in die pro-Datei ein und wunderst Dich das es nicht geht? wow...

Verfasst: 25. Mai 2010 21:50
von anno1988
nein. so war das nicht gemeint.

Die datei hat existiert und so war sie auch in die pro-datei eingetragen, nur wurde sie nicht angenommen, da der Klassennamen nicht genau so lautete wie der dateiname.

Verfasst: 25. Mai 2010 22:07
von Christian81
Was innerhalb der Header-Datei steht ist qmake egal, also nein das wars nicht.