Ich bin ein totaler Neuling zu Qt. Als ich die documentation las, stieß ich auf diese Konfiguration:Qt Use-Case für das gleiche Signal an 2 Slots am selben Objekt?
connect(Object1, Signal1, Object2, slot1)
connect(Object1, Signal1, Object2, slot2)
Was möglicherweise die Anwendungsfall dafür sein könnte?
Sieht seltsam für mich aus einem Erlang/Python-Hintergrund. Es muss mit C++ Vererbungs-Twists und Turns zu tun haben, denke ich.
Dank Adam. Sieht für mich allerdings albern aus: Ich würde eine Abstraktion fördern, bei der sich der Sender des Signals nicht darum kümmern muss, was auf der Senkenseite passieren muss. – jldupont
@jldupont: Der Emitter des Signals muss sich nicht darum kümmern, was auf der Senkenseite passieren muss. Es gibt nur das Signal ab und geht mit seiner Aufgabe weiter. Derjenige, der die Verbindung herstellt, muss nicht der Sender sein, eine Verbindung kann sehr gut von der Senke oder sogar von einer dritten Partei hergestellt werden (wenn das Signal und die Schlitze öffentlich sind). – Fred
Um fortzufahren, was Fred gesagt hat, finde ich fast immer den Fall, dass die Senke die Verbindung herstellt (direkt oder über einen Proxy). Eine Quelle zu haben, die alle Senken direkt kennt, vereitelt den Zweck etwas. Und wie Fred sagte, bedenke, dass das, was das Signal aussendet, sich nicht darum kümmert, wer es empfängt. Es kann jedoch den Slot-Code abhängig vom Verbindungstyp und dem Threading ausführen, bevor er fortgesetzt wird. –