Grundlegenede Signals/Slots Design-Frage
Verfasst: 15. Juli 2008 14:33
Hi,
ich habe eine Mainwindow (GUI) Klasse A und eine Klasse B (Qobject).
Die MainWindow enthält eine Combox,
welche mit Werten gefüllt werden muss.
Die zu füllenden Werte sucht Klasse B mit der eigenen Methode getValues().
Meine bisherige Vorgehensweise (in C++) war so, dass ich ein Objekt von B in der GUI-Klasse A als private erzeugt habe.
In der Gui-Klasse A rufe ich dann im Ctor die Methode getValues() von Klasse B auf, damit es anfängt die Werte zu suchen.
Nach Abschluss der Methode, kann ich die gesammelten Werte aus B mit einer anderen Methode in A, also meine Combobox, übergeben.
Sollte man sowas generell mit Signals und Slots erledigen?
Wenn ja, wie würde sich die neue Vorgehensweise von meiner bisherigen abweichen?
Eventuell so?
Bei jedem einzelnen Wert, dass die Klasse B findet ein signal emitten?
Damit ein Slot in der Klasse A diesen empfängt und den Wert in die Combobox einträgt?
Diese Idee finde ich nicht so schön.
Da ich ehh ein Objekt von B in A habe, kann ich genauso gut eine Methode aufrufen um die Daten zu bekommen.
Bräuchte mal einen Schupser in die richtige Richtung
danke!
ich habe eine Mainwindow (GUI) Klasse A und eine Klasse B (Qobject).
Die MainWindow enthält eine Combox,
welche mit Werten gefüllt werden muss.
Die zu füllenden Werte sucht Klasse B mit der eigenen Methode getValues().
Meine bisherige Vorgehensweise (in C++) war so, dass ich ein Objekt von B in der GUI-Klasse A als private erzeugt habe.
In der Gui-Klasse A rufe ich dann im Ctor die Methode getValues() von Klasse B auf, damit es anfängt die Werte zu suchen.
Nach Abschluss der Methode, kann ich die gesammelten Werte aus B mit einer anderen Methode in A, also meine Combobox, übergeben.
Sollte man sowas generell mit Signals und Slots erledigen?
Wenn ja, wie würde sich die neue Vorgehensweise von meiner bisherigen abweichen?
Eventuell so?
Bei jedem einzelnen Wert, dass die Klasse B findet ein signal emitten?
Damit ein Slot in der Klasse A diesen empfängt und den Wert in die Combobox einträgt?
Diese Idee finde ich nicht so schön.
Da ich ehh ein Objekt von B in A habe, kann ich genauso gut eine Methode aufrufen um die Daten zu bekommen.
Bräuchte mal einen Schupser in die richtige Richtung
danke!