string aus ini datei in textfenster schreiben

Plattformunabhängige GUIs mit wxWidgets.
Antworten
The Spirit
User
Beiträge: 276
Registriert: Freitag 8. Juni 2007, 08:50
Wohnort: 84xxx Bereich
Kontaktdaten:

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
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

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")
The Spirit
User
Beiträge: 276
Registriert: Freitag 8. Juni 2007, 08:50
Wohnort: 84xxx Bereich
Kontaktdaten:

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
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
The Spirit
User
Beiträge: 276
Registriert: Freitag 8. Juni 2007, 08:50
Wohnort: 84xxx Bereich
Kontaktdaten:

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
Antworten