Qt v4.8.0, VC2010 compiler
I have a QMainWindow
based class and I'm trying to send it signals involving QUuid
However, every time I run it I get the errors:
Object::connect: No such slot MainWindow::on_comp_connected(QUuid) in ..\..\src\mainwindow.cpp:143
Object::connect: (receiver name: 'MainWindow')
It's driving me potty as the slot definitely does exist (it's in the moc_)
class MainWindow : public QMainWindow
{
Q_OBJECT
// SNIP private typedefs
public:
MainWindow(QWidget *parent = 0, Qt::WFlags flags = 0);
~MainWindow();
// SNIP public methods
signals:
void testSendQuuid(const QUuid &qcid);
public slots:
void on_comp_connected(const QUuid &qcid);
private:
// SNIP private parts
QOpenAcnController *acnInt; // This is where the signal comes from
};
At the end of the MainWindow
constructor (the line 143 mentioned) I have:
connect(acnInt, SIGNAL(callback_comp_connected(QUuid)),
this, SLOT(on_comp_connected(QUuid)));
Given that the slot is definitely there in the moc_mainwindow.cpp (I checked, it's slot #1), what on earth could be stopping the connection happening?
If I try to connect the testSendQuuid(QUuid)
signal to the slot, I get no such signal and no such slot as well.
I cannot for the life of me figure out why Qt is denying the existence of a slot that is most definitely there!
I solved problem by adding Q_OBJECT macro in mainwindow class.