Seite 1 von 1

string aus ini datei in textfenster schreiben

Verfasst: Mittwoch 9. Januar 2008, 08:45
von The Spirit
Hi.
Arbeite unter osx und bin auf der suche, wie ich aus einer ini datei nen string auslesen (das geht schon) und in ein vorher definiertes textfeld schreiben kann.
Hat da jemand nen kurzen zweizeiler für mich?

P.S. Mit

Code: Alles auswählen

wx.TextCtrl.WriteText('blablabla')
geht´s nicht (siehe http://www.python-forum.de/topic-13034.html).

Thx

Verfasst: Mittwoch 9. Januar 2008, 08:59
von Zap
Hallo Spirit,

du musst auch erst eine Instanz von der TextCtrl Klasse erzeugen.

Code: Alles auswählen

t = wx.TextCtrl(self, -1, "", size=(500, 500))
t.WriteText("Huhu")

Verfasst: Mittwoch 9. Januar 2008, 10:24
von The Spirit
hi.
da hab ich mich dann unklar ausgedrückt.
das instanzieren der klasse hab ich schon, wie auch das textfeld wo es hingeschrieben werden soll, nur funktioniert diese funktion unter osx nicht.
deshalb die frage, ob es auch eine andere option gibt, ein textfeld zu erzeugen und etwas aus einer ini datei hineinzuschreiben.
Thx

Verfasst: Mittwoch 9. Januar 2008, 11:20
von gerold
The Spirit hat geschrieben:da hab ich mich dann unklar ausgedrückt.
Hallo The Spirit!

Der Code, den du oben stehen hast, funktioniert nicht. Der Code den Zap geschrieben hat, der funktioniert.

Er erstellt zuerst ein TextCtrl und bindet es an den Namen "t". Danach führt er die Methode "WriteText" der TextCtrl-Instanz ("t") aus.

Du kannst es auch mit ``SetValue`` oder seit wxPython 2.7.1 mit ``ChangeValue`` probieren.

Jedes Widget muss an eine Variable gebunden werden. Wenn man außerhalb der Funktion, in der man das Widget erstellt, auch darauf zugreifen möchte, dann sollte man das Widget zusätzlich auch an die Klasseninstanz binden.

Code: Alles auswählen

self.my_textctrl = wx.TextCtrl(...)
Dann kann man später mit ``self.my_textctrl wieder darauf zugreifen.

Code: Alles auswählen

self.my_textctrl.WriteText("Hallo")
mfg
Gerold
:-)

Verfasst: Mittwoch 9. Januar 2008, 11:32
von The Spirit
vielen dank

bisher hat eigentlich nur das write.Text ein problem gemacht.
Werde mal deine anderen befehle austesten.

edit:
@ gerold: danke, das SetValue funktioniert und liefert keinen bug mehr