möchte 'Value' von 'textCtrl' erhalten

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Spleen
User
Beiträge: 16
Registriert: Donnerstag 2. Juli 2009, 09:41

Hey Leute,

ich habe ein Frame in welches verschiedene Suchkriterien eingetragen werden. Wenn ich aber von einem anderem Frame diese Kriterien abfragen möchte, so bekomme ich nur die standartisierten leeren Values. Selbst wenn in den textCtrl-Feldern andere Werte stehen.

Frame mit den Suchkriterien:

Code: Alles auswählen

class Frame_Suchen(wx.Frame):
    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wx.Frame.__init__(self, id=wxID_FRAME_SUCHEN, name='Frame_Suchen',
              parent=prnt, pos=wx.Point(325, 605), size=wx.Size(1024, 345),
              style=wx.DEFAULT_FRAME_STYLE, title='Suchen')

        self.textCtrl_Titel = wx.TextCtrl(id=wxID_FRAME_SUCHENTEXTCTRL_TITEL,
              name='textCtrl_Titel', parent=self.panel_Aendern, pos=wx.Point(90,
              115), size=wx.Size(438, 21), style=0, value='')

    def get_suchkriterien(self):
        suchkriterien = []
        titel = self.textCtrl_Titel.Value
        suchkriterien.append(titel)
        return suchkriterien
Frame um Suchkriterien abzufragen:

Code: Alles auswählen

a = FilmarchivFrame4.Frame_Suchen(self)
suchkriterien = a.get_suchkriterien()
Was mache ich in dem Moment falsch? Habe schon mit .Value und mit .GetValues() versucht den Wert des Titels zu bekommen. Aber wie gesagt - egal was ich ins textCtrl-Feld eintrage, erhalten tu ich nur einen leeren String.

Danke schon mal im Voraus
BlackJack

@Spleen: Wann rufst Du denn `get_suchkriterien()` auf? Doch hoffentlich erst nachdem man da etwas eingetragen und zum Beispiel auf eine Schaltfläche geklickt hat!?
Spleen
User
Beiträge: 16
Registriert: Donnerstag 2. Juli 2009, 09:41

Ja klar ;)
get_suchkriterien wird aufgerufen nachdem ins textCtrl-Feld etwas eingetragen wurde und nachdem auch auf ein Button in dem FilmarchivFrame4 gecklickt wurde - dadurch wird auch ein EVT_BUTTON ausgelöst.
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Versuch es mal in der Zeile 15 mit

Code: Alles auswählen

titel = self.textCtrl_Titel.GetValue()
Spleen
User
Beiträge: 16
Registriert: Donnerstag 2. Juli 2009, 09:41

Hatte ich schon probiert, es funktioniert nicht. Obwohl es auch meinem Verständnis nach so gehen müsste.
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Du schreibst aber, dass Du schon GetValues() probiert hast. Für TextCtrl werden die Werte mit GetValue() (ohne "s") ausgegeben.
Spleen
User
Beiträge: 16
Registriert: Donnerstag 2. Juli 2009, 09:41

Hatte mich oben verschrieben. Gemeint war GetValue()
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Spleen hat geschrieben:Hatte mich oben verschrieben. Gemeint war GetValue()
als Parent für dein TextControl hast du (self.panel_Aendern ) angegeben? Wo ist das? Was ist das für eine Klasse? Sieht so aus, als würdest du frame (also in diesem Fall self) als parent meinen(?)
Antworten