Slider und eingabefeld wechsel können

Plattformunabhängige GUIs mit wxWidgets.
Antworten
feldmaus
User
Beiträge: 284
Registriert: Donnerstag 12. Oktober 2006, 16:48

Hi Alle,

bei meinem Programm habe ich eine Slider+Eingabefeld Kombination
eingebaut. Wenn der Slider sich ändert, dann wird der Wert in das
Eingabefeld übertragen und umgekehrt. ich habe das von dem Beispiel
fourier_demo_wx.py,
http://matplotlib.sourceforge.net/examp ... ght=slider
Mein Programm dient dem darstellen von 2 verschiedenen Analyse
Verfahren die über 2 RadioButtons namens self.transient und
self.histogram gewechselt werden können, dabei sollen dann
auch das Slider- und Eingabefeld-Element neu eingestellt werden.

Dort gibt es eine Klasse namens "SliderGroup", diese besitzt die
Eigenschaft "param" die ich versuche nachträglich zu ändern. Diese
Eigenschaft enthält die Max- Min- und Derzeitigen-Werte der Slider+
Eingabefeld Kombination.

Einen Fehler bekomme ich nicht, aber die neuen Max und Min u.s.w. Werte
werden nicht übernommen.
Hier ein Code Schnippsel:

Code: Alles auswählen

#HauptProgramm
    ...
        self.slider_param_trans = Param(0, minimum=0, maximum=len(self.daten[0]))
        self.slider_param_histo = Param(int(self.maxrasterdiv/2), minimum=0, maximum=int(self.maxrasterdiv))
    ...


    def changeSliderGroup(self,id):
        if (id == self.transient.GetId()):
            self.frequencySliderGroup.param = self.slider_param_trans
        elif (id==self.histogram.GetId()):
            self.frequencySliderGroup.param = self.slider_param_histo
Eine andere Idee ist eine update()-Methode zur Klasse SliderGroup
hinzuzufügen, nur wie ?

Grüße Markus
feldmaus
User
Beiträge: 284
Registriert: Donnerstag 12. Oktober 2006, 16:48

So ich habe eine changeSliderGroup Methode entwickelt, erhalte aber
Speicherzugriffsfehler. Ich nehme mal an das man beim wechseln der
slider Settings die Bindung lösen und wieder neu erstellen muss ?

Hier der Teil des mein Codes in dem sich alles abspielt,
http://pastebin.com/f720fb5d6

Jedes mal wenn also ein Slider seine settings ändert wird <self.param.attach(self)> durchgeführt. Ich glaube das darf nicht sein ?
feldmaus
User
Beiträge: 284
Registriert: Donnerstag 12. Oktober 2006, 16:48

Die Klasse SliderGroup habe ich komplett geändert, so dass ich sie besser verstehe und für mich nicht brauchbare Elemente rauß geschmissen.
http://pastebin.com/f1673d816

Beim ändern des Sliders oder des Eingabe Feldes sollen in meinem Haupt Programm Werte neu berechnet werden. Mein Slider ist doch jetzt in einer eigenen Klasse gekappselt und von dort kann ich keine Methode meines Haupt Programmes aufrufen oder ?
Antworten