Seite 1 von 1

Enter in einem Textfeld

Verfasst: Dienstag 12. Juni 2007, 12:50
von blubber
Hi,

ich hab ein Textfeld und möchte darin ein Text ausgeben. Der Text kommt z.B. aus einer Liste. Nun ist es momentan so, dass er mir die einzelnen Elemente der Liste aber hintereinander ausgibt. Es soll aber nach jedem Element ein Enter erfolgen, also im Textfeld. Kann mir jemand sagen wie das geht?

Gruß

*edit*
also als Beispiel:
Ich geb mit

Code: Alles auswählen

self.Label.SetLabel("Dies ist ein Test")

in meinem Textfeld den Satz "Dies ist ein Test" aus.
Nun soll aber z.B. zwischendrin ein Enter (im Textfeld) erfolgen, also:

Dies ist
ein Test

wenn ich \n mach, dann erscheint im Textfeld ein kleines Viereck.

Verfasst: Dienstag 12. Juni 2007, 13:37
von lost_mind
füge beim Text einfach ein "\n" ein steht für new line somit werden sie untereinander ausgegebn :)

Code: Alles auswählen

self.Label.SetLabel("Dies ist\n ein Test")
hier die lösung

Verfasst: Dienstag 12. Juni 2007, 13:39
von blubber
Hi,

wie schon geschrieben, hab ich das probiert. Für das "\n" erscheint bei mir im Textfeld dann ein kleines Viereck!

Verfasst: Dienstag 12. Juni 2007, 13:40
von lost_mind
sieh meine lösung an :) mit "\n" wollte ich drauf hinweisen das es in einem string sein muss :wink:

Verfasst: Dienstag 12. Juni 2007, 13:41
von blubber
ja, genau so hab ich es.
Es erscheint - wie erwähnt - ein kleines Viereck :)

Verfasst: Dienstag 12. Juni 2007, 13:44
von lost_mind
ich kan hier grad nicht an python ran :( also jemand der gradn an python ran kann und Tkinter plz help :o

edit: warum postest du das eigentlich hier ? das ist doch ein prob mit Tkinter oder?

Verfasst: Dienstag 12. Juni 2007, 13:50
von blubber
Hab das mit wxpython gemacht, nicht mit TK, aber trotzdem help

Verfasst: Dienstag 12. Juni 2007, 14:11
von Rebecca
Redest du von eimem TextCtrl? Hast du es denn auch als mehrzeilig gemacht? (Im Konstruktor der Parameter style=wx.TE_MULTILINE)

Verfasst: Dienstag 12. Juni 2007, 14:17
von blubber
Hi Rebecca,

ja, das habe ich gemacht.

Code: Alles auswählen

self.Label = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE)

Verfasst: Dienstag 12. Juni 2007, 17:12
von gerold
blubber hat geschrieben:

Code: Alles auswählen

self.Label = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE)
Hallo blubber!

Code: Alles auswählen

``wx.TextCtrl`` != ``wx.StaticText``
Label steht für "Beschriftung" --> wx.StaticText

Code: Alles auswählen

my_text_ctrl.SetValue("Hallo\nWelt"!)
self.Label ist ein irreführender Name für ein wx.TextCtrl. Keine gute Wahl.

mfg
Gerold
:-)

Verfasst: Mittwoch 13. Juni 2007, 06:56
von blubber
vielen Dank, mit SetValue gehts :)