Seite 1 von 1

Formatierung einer Liste

Verfasst: Samstag 2. Juni 2018, 10:28
von Omm
Wenn ich mit Print eine Liste ausgebe, sieht die wie nachstehend aus:

Code: Alles auswählen

summe_total         : 1900-01-25 09:00:31 ->	1900-01-25 09:0:31
ddddd               : 2 days, 10:26:08	  -> 	2 days, 10:43:08
aaaaa               : 6:05:40   	  ->	6:8:40    
ddddsdd             : 20:21:27 		  -> 	20:35:27  
gfgfgfg             : 17:58:57 		  -> 	17:97:57   
also schön in Spalten dargestellt.

mach ich das nun in einer

Code: Alles auswählen

wx.MessageBox(text, title, style)
kommt alles versetz raus. So wie ich das sehe ist die Zeichenlänge korreckt z.b. 20. Aber Gross und kleinbuchsteben ergeben einen anderen Abstand bis zu nächsten Spalte. Ist hier nich so schön um darzustellen. sorry

Code: Alles auswählen

formatiert = "{0:20}: {1:10} -> {2:10}\n".format(string_to_format, the_value, indu_format_duration)
summe_total : 1900-01-25 09:00:31 -> 1900-01-25 09:0:31
ddddd : 2 days, 10:26:08 -> 2 days, 10:43:08
aaaaa : 6:05:40 -> 6:8:40
ddddsdd : 20:21:27 -> 20:35:27
gfgfgfg : 17:58:57 -> 17:97:57

Wie kann ich das anpassen, dass es in der Box schön kommt?

Re: Formatierung einer Liste

Verfasst: Samstag 2. Juni 2018, 10:59
von __deets__
Aus ästhetischen Gründen benutzen GUIs seit Jahrzehnten proportionale Fonts. Dadurch ist die Ausgabe so ungleichmässig.

Die richtige Vorgehensweise besteht darin, statt des nicht für sowas gedachten Messagebox Widget ein Tabellen Widget zu benutzen. Damit bekommst du die Links oder rechts-bündige Ausrichtung pro Spalte.

Re: Formatierung einer Liste

Verfasst: Samstag 2. Juni 2018, 11:31
von Omm
ok
da ich ja wxpython verwende gehe ich davon aus, ich schaue was da vorhanden ist.
wxListView sieht gut aus, bin ich richt?
Grids sieht auch gut aus. hmm