Ich habe etwas wie das folgende Design von Klassen und ich frage mich, ob es in Ordnung ist, dass ich viele Signal-Slot-Verbindungen verwenden, um zwischen ihnen zu kommunizieren. Es gibt eine MainWindow
Klasse, die die gesamte GUI enthält, dann eine Wrapper
Klasse, die eine Schnittstelle zum Backend bereitstellt, dann gibt es eine Controller
Klasse zum Laichen und Verwalten von Threads und schließlich gibt es Worker
s, die die ganze Arbeit erledigen.Ist es in Ordnung, Signale und Steckplätze mehrmals zu verketten?
Jetzt sagen wir, ich lade eine Datei und möchte den Fortschritt mit einem Fortschrittsbalken in der MainWindow
anzeigen. Meine Worker
Klasse sendet updateProgress(int progress)
an Controller::handleProgress(int progress)
Slot, der wiederum Fortschrittssignal an die Klasse Wrapper
sendet, die wiederum ein Fortschrittssignal an das Hauptfenster sendet, das schließlich den Fortschrittsbalken aktualisiert.
Ähnlich, wenn die Daten geladen wurden, wird es in der Klasse Wrapper
verarbeitet und wiederum über Signale und Steckplätze kommuniziert (obwohl mit einem weniger Schritt).
Ist es eine Standardmethode, Dinge in Qt zu tun oder sollte ich mein Design überdenken?
Sehr gute Antwort. – user2672165