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

Alles rund um die Programmierung mit Qt
Antworten
klogg
Beiträge: 129
Registriert: 5. September 2005 17:00
Wohnort: Hann. Münden

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

Beitrag 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
Zuletzt geändert von klogg am 23. Oktober 2005 22:32, insgesamt 1-mal geändert.
BeS
Beiträge: 28
Registriert: 10. Januar 2005 15:01

Beitrag 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.
klogg
Beiträge: 129
Registriert: 5. September 2005 17:00
Wohnort: Hann. Münden

Beitrag von klogg »

Das gefällt mir :)

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

HENNING
Antworten