Seite 1 von 1

setValue auf QtFormElement, ohne Signal auszulösen?Geht das?

Verfasst: 10. Juli 2006 18:35
von SteveXP
Hallo,

normalerweise werden Form-elemente (zb eine SpinBox,...) so verbunden, dass sie bei valueChanged ein Signal an das Programm senden.

Wenn ich jetzt aber den Wert der SpinBox vom Programm aus ändere (signal vom Programm zur Spinbox) dann sendet die SpinBox dummerweise auch wieder ein signal an mein Programm zurück.

Wie kann man das vermeiden?

Hat man zB zwei Form Elemente, die über eine Formel zusammenhängen, (ändert man das erste soll sich das zweite anpassen, ändert man das zweite soll sich das erste anpassen), so ergibt das bei mir eine rekursive abhängigkeit... :? :?:


Gruß,
Steve

Verfasst: 10. Juli 2006 20:59
von upsala
QObject::blockSignals() ?

Verfasst: 10. Juli 2006 23:45
von SteveXP
danke, das scheint genau das richtige zu sein.

Wenn man allerdings QtDesigner verwendet gibt es da ein Problem: Die QObject elemente sind alle in aus dem .UI-File generierten Dateien.

Und da der Hauptteil meines Programm im "centralwidget" abläuft habe ich nur einen Zeiger auf das parent QWidget. So wie ich das sehe kann ich mit dem Zeiger auf das parent QWidget nicht die anderen elemente meiner GUI ansprechen.... ?

mh... knifflige Sache...

Verfasst: 11. Juli 2006 16:34
von upsala
doch mit findChild, siehe Calculator-Beispiel