[c++/Qt] Einfaches Programm findet keinen Slot

Hallo, ich wolte ein Programm schreiben, das ein Textfeld und einen Button hat (zur Probe für ein Klausur/einen effiktiven nutzen hat das Programm nicht)

Irgendwie hab ich da eine blöden Fehler eingebaut. Aber ich kann ihn nicht finden.

Das Programm meldet zur Zeit: Object::connect: No such slot QObject::btnClick()

Unbd hier kommt der Quellcode: (Wenn ich Q_OBJECT in die Klasse ein füge, meldet es undefinde reference to vtable)

#include 
#include 
#include 

class MyQProg: public QObject{
 public:
 MyQProg(){
 btn = new QPushButton();
 edit = new QLineEdit();

 connect(btn, SIGNAL(pressed()), this, SLOT(btnClick()));
 }

 virtual ~MyQProg(){}

 QPushButton\* btn;
 QLineEdit\* edit;

 public slots:
 void btnClick(){
 btn-\>setText(edit-\>text());
 }
};


int main(int argc, char\*\* argv){
 QApplication\* app = new QApplication(argc,argv);
 QVBoxLayout\* layout = new QVBoxLayout();

 MyQProg\* prog = new MyQProg();

 layout-\>addWidget(prog-\>edit);
 layout-\>addWidget(prog-\>btn);

 QWidget\* w = new QWidget();
 w-\>setLayout(layout);
 w-\>show();

 return app-\>exec();
}

HI!

HIer fehlt das Q_OBJECT Macro am Anfang.
Ausserdem muss das ganze durch den Moc Compiler, sonst existiert keine Implementierung für diesen Slot (Daher wahrscheinlich auch der zweite Fehler wg. VTABLE)!

class MyQProg: public QObject{
Q_OBJECT

}

Gruß
MoreInput

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]