Object::connect: No such signal
Ich habe ein problem, um das erstellen von benutzerdefinierten slots/signal mit einem struct. Ich habe den folgenden code :
qRegisterMetaType<namespace::myClassA::aStruct>();
QObject::connect(&myClassA, SIGNAL(theSignal(myClassA::aStruct)),
&myClassB, SLOT(theSlot(myClassA::aStruct)));
Beim starten des Programms bekam ich :
Object::connect: No such signal NameSpace::myClassA::theSignal(myClassA::aStruct)
Object::connect: (receiver name: 'NameSpace__CLASSNAME')
Wie kann ich dieses problem behoben?
PS: Der slot und das signal wurde korrekt deklariert in der header-Dateien die Datei Q_SIGNALS und Q_SLOTS Schlüsselwörter, mit dem richtigen argument (aStruct)
Haben Sie laufen
Q_DECLARE_METATYPE/qRegisterMetatype ist es nicht notwendig, noch wird es helfen, für direkte verbindungen (der Standardwert, wenn beide Objekte im gleichen thread)
Es fällt mir auf, dass selbst das, was Aussehen könnte wie kleine Stiche, die verhindern können, dass die ordnungsgemäße Funktionsweise: SIGNAL(PageClosed(QWidget *Seite)) hat einen Fehler erzeugt. Entfernt habe ich die parameter: - Seite, und es wurde akzeptiert.
qmake
nach der Implementierung der signal-und slot?Q_DECLARE_METATYPE/qRegisterMetatype ist es nicht notwendig, noch wird es helfen, für direkte verbindungen (der Standardwert, wenn beide Objekte im gleichen thread)
Es fällt mir auf, dass selbst das, was Aussehen könnte wie kleine Stiche, die verhindern können, dass die ordnungsgemäße Funktionsweise: SIGNAL(PageClosed(QWidget *Seite)) hat einen Fehler erzeugt. Entfernt habe ich die parameter: - Seite, und es wurde akzeptiert.
InformationsquelleAutor peterphonic | 2013-02-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Arten verwendet im signal/slot-verbindungen werden muss-ganz "scoped", weil die Methode in einen text umgewandelt, so dass Ihre Verbindung Aufruf sollte wie folgt Aussehen:
Wirst du wohl updaten müssen, das signal/slot-Erklärung, Argumente zu entsprechen.
InformationsquelleAutor cmannett85
Ich habe die Lösung gefunden der signal-slot:
Die Erklärung und Aufruf der signal-und slot-Funktionen wurden nicht übereinstimmende! Sobald ich fixierte Sie, den slot bekam aufgerufen.
Können Sie hier erhielten alle die Möglichkeit des Irrtums.
die 20 Möglichkeiten, um den debug-Qt, Signale und slots
Hoffe, es hat mir sehr geholfen nach der Lektüre dieses articlethis und sparen Ihre Zeit.
InformationsquelleAutor AB Bolim
Beim deklarieren der slot/- Signale, Sie können als Grundlage die namespaces der argument-Struktur etwa so:
::namespace::ClassA::structA
Anstatt ClassA::structA von innen 'namespace'. Dies ist nützlich, wenn Sie versuchen, eine Referenz, eine Struktur innerhalb des gleichen namespace.
InformationsquelleAutor rolm