PyQt5 Signal Slot Connect Klassenübergreifend

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Peter1977
User
Beiträge: 86
Registriert: Mittwoch 4. September 2013, 14:59

Hallo,

Suche Deutsche Beispiele für PyQt5 für Klassenübergreifende Signal/Slot verarbeitung.

Danke

mfg Peter
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@Peter1977:
Du wirst um Englisch nicht herum kommen, wenn Du ernsthaft programmieren willst. Jedwede Doku ist in Englisch, kA ob es zu Qt eine gute deutsche Doku gibt. Selbst wenn, stehen die Chancen gut, dass diese veraltet ist.

Was meinst Du mit klassenübergreifend? Signal/Slots sind exemplarübergreifend, wenn die Exemplare verschiedene direkte Elternklassen haben, also auch klassenübergreifend (falls Du das meinst). Auf der anderen Seite wird der Signal/Slot-Mechanismus von der QObject-Klasse bereitgestellt, heisst Deine Klassen müssen Nachfahren von QObject sein, sonst funktioniert es nicht.

Was die Verarbeitung von Slots angeht, passiert im Singlethread-Kontext nicht viel Magie - Signale werden entweder zu einem festen Verarbeitungspunkt der Eventschleife geprüft (QueuedConnection) oder direkt "ausgeführt" (default) und die Slots einfach in der Reihenfolge ihrer Assoziation abgearbeitet/aufgerufen. Bei Multithreading muss man zusätzlich die thread-fremden Signale der Eventschleife des Zielthreads übergeben, damit diese respektiert werden (sind quasi immer queued).

Keine Ahnung, ob Dir das weiterhilft. Falls Du ein konkretes Problem mit Signal/Slots hast, können wir Dir sicher besser weiterhelfen.
Antworten