Хочу соединить сигнал со слотом, но ничего не выходит.
Имею следующий класс:
C++ (Qt)
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPushButton>
class Widget : public QWidget
{
public:
explicit Widget(QWidget *parent=0);
QPushButton *myButton1;
public slots:
void mySlot();
};
#endif // WIDGET_H
Реализация:
C++ (Qt)
#include "widget.h"
#include <QHBoxLayout>
Widget::Widget(QWidget *parent) : QWidget(parent)
{
myButton1 = new QPushButton("Press me",this);
QHBoxLayout *m = new QHBoxLayout(this);
m->addWidget(myButton1);
this->setLayout(m);
connect(this->myButton1,SIGNAL(clicked()),this,SLOT(mySlot()));
}
void Widget::mySlot()
{
myButton1->setText("ololo");
}
При сборке получаю уведомление: Object::connect: No such slot QWidget::mySlot() in widget.cpp:21
Соответственно ничего не работает.
Пробовал в описание класса добавлять макрос Q_OBJECT - программа вообще не компилируется.
Как быть?