Q_OBJECT или нет Q_OBJECT

Я написал небольшую программу со своим собственным классом в main.cpp. Вот код:

#include <QApplication>
#include <QPushButton>
#include <QLabel>

class MyWidget : public QWidget {
    //Q_OBJECT
public:
    MyWidget(QWidget* parent = 0);
    QLabel* label;
    QString string;

signals:
public slots:
    void setTextLabel();

};

void MyWidget::setTextLabel() {
    label->setText("Test");
}


MyWidget::MyWidget(QWidget* parent) 
     : QWidget(parent) {

}

int main(int argc, char** argv) {
    QApplication app(argc, argv);

    MyWidget widget;
    widget.show();

    return app.exec();
}

это кажется работой, но не "полностью". Мой слот не работает. Я полагаю, я должен поставить Q_OBJECT. НО, при этом я получил список ошибок, например:

undefined reference to `vtable for MyWidget'
........................................
collect2: error: ld returned 1 exit status
make: *** [mywidget] Error 1

Я могу справиться с этим? Где проблема?

Ответы на вопрос(2)

Ваш ответ на вопрос