formatiere ausgabe

Fragen zu Tkinter.
Antworten
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

SO guten morgen erstmal :>
Ich habe folgendes Problem, ich gebe einer txt datei immer 4 werte.
dann kommt ein leerzeichen und wieder 4 werte. diese 4 werte sind alle
jeweils unterschiedlich lang. Nun mein eigentliches Problem,
ich gebe diese werte in einer listbox aus und da sehen
sie natürlich vollkommen vermurkst aus. gibts ne möglichkeit
diese so zu formatieren das sie wie in html in <tr> und <td>'s liegen? :D
mfg prosta
*edit*
so ist die ausgabe

Code: Alles auswählen

    out = open("Log.txt", "r")
    for line in out.readlines():
        L.insert(END, line)
meine listbox:

Code: Alles auswählen

L = Listbox(hauptfenster, width=55, borderwidth=0, background="#d4d0c8")
L.place(relx=0.42, rely=0.04)
recht simpel also :>
und zum 15. mal edit heute ^^, ich hänge gleich noch ne frage ran.
kann man einzelne reihen aus einer listbox verlinken?
also durch klick auf die reihe erscheint woanders z.b ein neues fenster
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

also die tabellen form (<td>, <tr>) versteh ich jetzt nicht ganz, vllt. kannste ja mal nen bild malen *g* und posten.

und zum verlinken, schau dir mal die events an.
pydoc oder

Code: Alles auswählen

>>> import Tkinter
>>> help(Tkinter.Listbox)
mfg Olf
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

http://www.team-brash.de/lala.jpg
Bitte nicht über Inhalt und Design auslassen :P
Ist nen Fun Projekt für unsere nächste Lan Party *g*
Die Zahlen rechts 18 bzw 14 sollen so eingerückt werden, das sie
untereinander stehen. Bis jetzt habe ich mit leerzeichen geregelt, doch da
die länge der wörter ja variiert, ist auch der abstand immer anders.
durch ne tabelle mit zeilen und spalten wäre das nicht der fall :>
*edit* also ich weiss mittlerweile das es mit grid geht :P
doch ich habe keine ahnung wie ich das in meine listbox einbauen soll.
wenn ich grid anstatt pack verwende öffnet sich das programm ohne fehlermeldung
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

hm? und tabs?

\t

mfg Olf
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

ähm sag mir wenn ich mich irre, aber das ändert doch nichts daran,
das die abstände springen sobald ein wort zulang ist oder?
habs gerad probiert und bringt nix :/
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

joa dann...keine ahnung... :)

du könntest jetzt allerdings anstatt einer listbox verschiedene labels verwenden, die wie eine tabelle aufgebaut sind....

mfg Olf
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

hmhmhmhm
das will ich aber nich *auf den boden stampf* :P
dann werde ich es so lassen wie es ist, und wir verzichten
auf schöne formatierung^^
trotzdem danke
mfg prosta
joe

Hi!
Nimm doch einfach einen monospace-font (courier o.ä.) und formatiere dann a la "%2d %3d %10s %3d" % (4,24,"Herri",14).
joe
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

juhu danke joe genau das wars ^^
nu geht es :D
die verlinkung der listbox items hab ich immernoch nicht
hinbekommen aber sobald das geschafft ist, zeig
ich den lsgversuch hier :p
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi pr0stAta,

um bei überlangen Strings die Formatierung zu behalten, solltes du die noch abschneiden:

Code: Alles auswählen

a, b, c, d = 4, 24, "Herrl", 14
text = "%2d %3d %10s %3d" % (a, b, c[:10], d)

Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
joe

Hi!
[quote="Dookie"um bei überlangen Strings die Formatierung zu behalten, solltes du die noch abschneiden:[/quote]
Wobei der informationsverlust aber beträchtlich sein kann. Nach zb "Flensburge" können 6 varianten folgen.
joe
Antworten