Seite 1 von 1

[gelöst] valueChanged und setValue über Kreuz verküpfen

Verfasst: 23. Oktober 2005 21:58
von klogg
Ich habe zwei QSpinBox(en) und möchte gerne, dass sich, wenn man die eine verändert, die andere mitverändert.
Das soll in beide Richtungen funktionieren.

Ich hab es folgendermaßen gelöst:

Code: Alles auswählen

connect(spinBox_1_lmax, SIGNAL(valueChanged(int)), spinBox_1_rmax, SLOT(setValue(int)));
connect(spinBox_1_rmax, SIGNAL(valueChanged(int)), spinBox_1_lmax, SLOT(setValue(int)));
Das funktioniert auch, aber ich möchte gerne wissen,
wie QT damit klarkommt, dass ja durch setValue(int) wieder das Signal ausgelöst wird.
(Dass das so ist, habe ich getestet.)
Das müsste doch eigentlich zu einem undendlichen Hin-und-Her führen, oder?

HENNING

Verfasst: 23. Oktober 2005 22:22
von BeS
Hallo,
bin mir jetzt nicht mehr 100%ig sicher, aber ich glaube es so in einem Qt Tutorial oder Buch mal gelesen zu haben und es wirkt auf mich auch jetzt noch logisch.

Sagen wir du änderst spinBox_1_lmax, dann wird das Signal ausgelöst, spinBox_1_rmax ändert sich und löst wieder ein Signal aus, aber jetzt wird spinBox_1_lmax ja nicht mehr verändert, da das Signal von spinBox_1_rmax den Wert übergibt den spinBox_1_lmax schon hat und damit ist der Kreislauf unterbrochen.

Verfasst: 23. Oktober 2005 22:31
von klogg
Das gefällt mir :)

Ich denke, du hast Recht, das Signal heißt ja auch valueChanged(int).
Danke.

HENNING