Wie zu bestimmen, wer emittiert das signal?
Ich eine Anwendung entwickeln, die auf PyQt, wie ich die signal-slot-Modell, aber gibt es irgendeine Möglichkeit
ermitteln Sie den emitter-signal? Ich hoffe, dass es einen Weg gibt, denn es lassen, mehr zu schreiben, generischen code ohne Definition viele slots für jeden ähnlichen signal.
Ich bin wirklich überrascht zu hören, jemand sagen, dass die Informationen über einen Absender in der slot macht den code mehr generisches. Im Allgemeinen, slots geschrieben werden, so dass Sie benötigen keine Kenntnisse, wie Sie aktiviert wurden (D. H., Sie können auch als Methoden aufgerufen, die auch direkt).
Möglich, Duplikat der Wie man sender-widget mit einem signal/slot-Mechanismus?
nach Buchungsdatum, meine Frage wurde 9 Monate früher als eine auf den Sie sich beziehen
", fragte Okt 28 '10 am 20:18"...
du hast Recht, gut dann kann dies eine doppelte, in der Tat.
Möglich, Duplikat der Wie man sender-widget mit einem signal/slot-Mechanismus?
nach Buchungsdatum, meine Frage wurde 9 Monate früher als eine auf den Sie sich beziehen
", fragte Okt 28 '10 am 20:18"...
du hast Recht, gut dann kann dies eine doppelte, in der Tat.
InformationsquelleAutor kravitz | 2011-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass ich geöffnet habe eine Frage zu früh, weil ich eine Antwort gefunden auf google selbst.
Wenn slot aktiviert ist durch Strahler, die Zeiger der emitter gespeichert und können abgerufen werden
und als ein Ergebnis kann abgerufen werden in PyQt durch:
Patrice hier ist der link aktualisiert: qt-project.org/doc/qt-4.7/qobject.html#sender
Es gibt zwei Warnungen: <Zitat> Warnhinweis: mit Dieser Funktion verstößt gegen das objektorientierte Prinzip der Modularität. Jedoch, erhalten Zugang zu der Absender kann sinnvoll sein, wenn viele Signale angeschlossen sind, um eine single-slot. Warnung: Wie oben erwähnt, ist der Rückgabewert dieser Funktion ist nicht gültig, wenn der slot aufgerufen wird, über eine
Qt::DirectConnection
aus einem thread anders aus als dieses Objekt thread. Verwenden Sie diese Funktion nicht in dieser Art von Szenario. </Zitat> web.archive.org/web/20101120154037/http://doc.qt.nokia.com:80/...InformationsquelleAutor kravitz
Vielleicht möchten Sie sich in die QSignalMapper Klasse, denn er bietet ein Mittel zum zuordnen entweder ein int, string, oder ein widget Parameter zu einem Objekt sendet ein bestimmtes signal. Die wichtigste Einschränkung ist, dass das signal/slot abgebildet werden muss, um parameter-weniger.
C++ - Beispiel aus der QT4.7 Dokumentation:
Finden Sie eine PyQT4 Beispiel hier, aber wenn ich eine chance habe, ich werde versuchen, fügen Sie eine einfache PyQT4 Beispiel.
InformationsquelleAutor
Beachten Sie, dass diese nicht sagen, Sie zB. die Zelle in einem Datenraster-Steuerelement wasedited - nur die grid-control-handle selbst.
Gibt es eine neue Erweiterte Qt-Buch heraus, das geht in viele Details über advanced signal/slot-routing
InformationsquelleAutor Martin Beckett