Hallo,
Suche Deutsche Beispiele für PyQt5 für Klassenübergreifende Signal/Slot verarbeitung.
Danke
mfg Peter
PyQt5 Signal Slot Connect Klassenübergreifend
@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.
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.