Qt-connect "no such slot", wenn slot definitiv nicht vorhanden

Qt v4.8.0, VC2010 compiler

Ich habe eine QMainWindow Klasse und ich bin versucht, senden Sie Signale mit QUuid

Jedoch, jedes mal, wenn ich es bekomme ich den Fehler:

Object::connect: No such slot MainWindow::on_comp_connected(QUuid) in ..\..\src\mainwindow.cpp:143
Object::connect:  (receiver name: 'MainWindow')

Es treibt mich Töpfchen als der slot definitiv nicht existieren (es ist die 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

};

Am Ende der MainWindow Konstruktor (Zeile 143 erwähnt) habe ich:

connect(acnInt, SIGNAL(callback_comp_connected(QUuid)),
        this, SLOT(on_comp_connected(QUuid)));

Gegeben, dass der Schlitz ist definitiv es in der moc_mainwindow.cpp (habe ich geprüft, es ist slot #1), was auf der Erde könnte beenden der Verbindung passiert?

Wenn ich versuche zu verbinden, die testSendQuuid(QUuid) signal an den slot, bekomme ich kein solches signal und keine solchen Steckplatz, wie gut.

Kann ich nicht für das Leben von mir herauszufinden, warum Qt ist die Leugnung der Existenz von einem slot, der die meisten auf jeden Fall gibt es!

Haben Sie bereits versucht, eine clean, Run qmake, build Sequenz? Manchmal ist die Qt-generiert make Datei verwechselt wird.
Ja, in der Tat, das erste, was ich versucht habe! Ich habe ein paar Gelegenheiten, wo qmake oder moc verwirrt (in der Regel bei der Förderung einer Klasse zu einer QObject abgeleitete wenn es vorher nicht war). In diesem Fall machte es keinen Unterschied.
Was sind diese privaten typedefs?

InformationsquelleAutor Richard1403832 | 2012-05-18

Schreibe einen Kommentar