Seite 1 von 1

[gelöst] Anfängerfrage: QMainWindow ableiten

Verfasst: 31. Juli 2007 14:31
von Andy
Hi!
Ich habe zZ Semesterferien und deshalb auch Zeit mich mit Qt zu beschäftigen.
Also ich habe folgendes Szenario:

Ich habe im Designer ein QMainWindow erstellt mit nem QPushButton und einem QLineEdit.
Es sollte eigendlich so sein das nach einem Klick auf den Button ein Text im QlineEdit erscheint.
Dieses Formular habe ich abgeleitet um die Funktionalität zu implementieren:

Klasse die die Funktionalität implementiert(testA.h):

Code: Alles auswählen

#ifndef TESTA_H_
#define TESTA_H_
#include "ui_testForm.h"
#include <QtGui/QMainWindow>
#include <QtGui/QWidget>



class testA: public Ui::MainWindow, public QMainWindow{
	Q_OBJECT
	public:
		testA(QWidget* parent=0, Qt::WindowFlags f=0){ 
			QMainWindow(parent, f);
			connect(pushButton, SIGNAL(clicked()), this, SLOT(writeText()));
		}
	public slots:
		void writeText(){lineEdit->setText("Test erfolgreich");}


};
#endif /*TESTA_H_*/

Code: Alles auswählen

#include "testA.h"
#include <QtGui/QApplication>
#include <QtGui/QMainWindow>
int main(int argc, char** argv){
	QApplication theApp(argc, argv);
	
	Ui::MainWindow mw;
	QMainWindow myMainWindow;
	mw.setupUi(&myMainWindow);
	myMainWindow.show();
	return theApp.exec();
}
und als Compilerfehler bekomme ich folgendes:

Code: Alles auswählen

moc_testA.cpp:40: error: ‘staticMetaObject’ is not a member of ‘Ui::MainWindow’
moc_testA.cpp: In member function ‘virtual void* testA::qt_metacast(const char*)’:
moc_testA.cpp:57: error: ‘qt_metacast’ is not a member of ‘testA::qt_metacast(const char*)::QMocSuperClass’
moc_testA.cpp: In member function ‘virtual int testA::qt_metacall(QMetaObject::Call, int, void**)’:
moc_testA.cpp:63: error: ‘qt_metacall’ is not a member of ‘testA::qt_metacall(QMetaObject::Call, int, void**)::QMocSuperClass’
make: *** [moc_testA.o] Fehler 1
Könnte mir jemand erklären was ich falsch mache?

Verfasst: 31. Juli 2007 15:13
von Christian81

Verfasst: 31. Juli 2007 23:40
von Andy
moc assumes that the first inherited class is a subclass of QObject
ne, oder? :D
das war alles?
ich merke Qt unterscheidet sich doch mehr von ANSI C++ als ich gedacht habe.

Danke für den HInweis :D

Verfasst: 1. August 2007 08:38
von Christian81
Da moc nichts mit ansi c++ zu tun hat ist das nunmal so...