Enter in einem Textfeld

Plattformunabhängige GUIs mit wxWidgets.
Antworten
blubber
User
Beiträge: 123
Registriert: Montag 19. März 2007, 09:08

Dienstag 12. Juni 2007, 12:50

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.
lost_mind
User
Beiträge: 82
Registriert: Dienstag 13. Februar 2007, 11:55

Dienstag 12. Juni 2007, 13:37

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
blubber
User
Beiträge: 123
Registriert: Montag 19. März 2007, 09:08

Dienstag 12. Juni 2007, 13:39

Hi,

wie schon geschrieben, hab ich das probiert. Für das "\n" erscheint bei mir im Textfeld dann ein kleines Viereck!
lost_mind
User
Beiträge: 82
Registriert: Dienstag 13. Februar 2007, 11:55

Dienstag 12. Juni 2007, 13:40

sieh meine lösung an :) mit "\n" wollte ich drauf hinweisen das es in einem string sein muss :wink:
blubber
User
Beiträge: 123
Registriert: Montag 19. März 2007, 09:08

Dienstag 12. Juni 2007, 13:41

ja, genau so hab ich es.
Es erscheint - wie erwähnt - ein kleines Viereck :)
lost_mind
User
Beiträge: 82
Registriert: Dienstag 13. Februar 2007, 11:55

Dienstag 12. Juni 2007, 13:44

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?
Zuletzt geändert von lost_mind am Dienstag 12. Juni 2007, 13:50, insgesamt 1-mal geändert.
blubber
User
Beiträge: 123
Registriert: Montag 19. März 2007, 09:08

Dienstag 12. Juni 2007, 13:50

Hab das mit wxpython gemacht, nicht mit TK, aber trotzdem help
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Dienstag 12. Juni 2007, 14:11

Redest du von eimem TextCtrl? Hast du es denn auch als mehrzeilig gemacht? (Im Konstruktor der Parameter style=wx.TE_MULTILINE)
blubber
User
Beiträge: 123
Registriert: Montag 19. März 2007, 09:08

Dienstag 12. Juni 2007, 14:17

Hi Rebecca,

ja, das habe ich gemacht.

Code: Alles auswählen

self.Label = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Dienstag 12. Juni 2007, 17:12

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
blubber
User
Beiträge: 123
Registriert: Montag 19. März 2007, 09:08

Mittwoch 13. Juni 2007, 06:56

vielen Dank, mit SetValue gehts :)
Antworten