Problem mit String Variable

Plattformunabhängige GUIs mit wxWidgets.
Antworten
de_master
User
Beiträge: 72
Registriert: Samstag 15. Januar 2005, 15:19

Hallo @ all,
ich möchte mit Hilfe von wxPython eine Eingabe machen und diese in einem anderen Fenster ausgeben.

Mein Aufruf ist wie folgt:

dlg.textCtrl1.SetValue(('%s') % self.textCtrl1)
dlg.textCtrl2.SetValue(('%s') % self.textCtrl2)

Als ausgabe bekomme ich jedoch nicht den Inhalt der Eingabe, sondern ich bekomme folgendes:
<wx._controls.TextCtrl; proxy of C++ wxTextCtrl instance at _b0484c01_p_wxTextCtrl>

Was mache ich denn da falsch?

Gruss Michael
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

In's Forum "wxPython" verschoben :?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

self.textCtrl1 liefert nur die Referenz auf das Objekt self.textCtrl1 zurück. Um den Wert des Objektes auszulesen, mußt Du self.textCtrl1.GetValue() verwenden.
MfG
HWK
Nirven
User
Beiträge: 130
Registriert: Mittwoch 10. Mai 2006, 08:18
Wohnort: Bremerhaven

Du weist den Textfeldern als value die Referenz auf die Objekte zu, nicht deren Inhalt. Genauso wie du 'SetValue' benutzt musst du 'GetValue' benutzen um an den Inhalt einer TextCtrl zuz kommen. Ich vermute

dlg.textCtrl1.SetValue(('%s') % self.textCtrl1.GetValue())
dlg.textCtrl2.SetValue(('%s') % self.textCtrl2.GetValue())

ist das, was du willst.

Edit: Ich schreib zu langsam.
de_master
User
Beiträge: 72
Registriert: Samstag 15. Januar 2005, 15:19

Ah super danke.
Gibt es vielleicht eine kürzere Schreibweise für diese Aktion?

Gruss Michael
Antworten