Textausrichtung in einer Textbox.

Fragen zu Tkinter.
Antworten
kiaralle
User
Beiträge: 171
Registriert: Donnerstag 19. August 2021, 19:11

Hallo ich suche nach einer Möglichkeit den Text in einer Textbox so auszurichten das es einer Tabelle gleich kommt.

Nr. Aktiv. Speicher....

1. Ja. 128


Es soll schön ausgerichtet sein.

Gruß Ralf.
kiaralle
User
Beiträge: 171
Registriert: Donnerstag 19. August 2021, 19:11

Eventuell sollte ich dies über die Funktion Insert(0,...) lösen?
Die 0 stellt ja den Einstieg, die Position da. Oder?
Benutzeravatar
__blackjack__
User
Beiträge: 14319
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@kiaralle: Nein, nicht die ”grafische” Position, sondern am wievielten Zeichen eingefügt werden soll.

Man kann sowohl Tabulatorpositionen setzen, als auch wie daran ausgerichtet werden soll: https://tkdocs.com/shipman/text-tabs.html

Alternativ kann man auch Widgets in den Text einbinden, also zum Beispiel eines wo man die Tabelle per `grid()` erstellt hat.
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
kiaralle
User
Beiträge: 171
Registriert: Donnerstag 19. August 2021, 19:11

Dankenfur den Tipp.
Ich hab es gestern mal getestet, war aber nicht erfolgreich.

Heute Abend stelle ich mein Code hier mal rein.
kiaralle
User
Beiträge: 171
Registriert: Donnerstag 19. August 2021, 19:11

So,

ich hätte jetzt gedacht, das tabs=('1c', '1c') hier Tabulatoren einbaut. Die 1c sind nur zum testen erdacht.
Tut er aber nicht. Wahrscheinlich bin ich noch auf dem Holzweg
datenfeld_tabellenkopf wird ohne Veränderung angezeigt.

Code: Alles auswählen

    datenfeld_tabellenkopf="Nr enable beschreibbar  Pwd Nr.  Pwd aktiv  Speichergröße "

    
    datenfeld_info = Text(frame_datenfeld, font=('arial', 12, 'italic'), border=0, wrap='word', bg="#eaecac", tabs=('1c', '1c'))
    datenfeld_info.config(fg="#000000", height=5 ,  width=99,  padx=10, pady=20)
    datenfeld_info.grid(column=0, row=0, padx=10, pady=10)  
    datenfeld_info.insert(index='0.0',chars = datenfeld_tabellenkopf)
Benutzeravatar
__blackjack__
User
Beiträge: 14319
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@kiaralle: Das sagt wo die Tab-Stops sind. Man muss natürlich dann auch Tabulatorzeichen im Text haben, die zum nächsten Tab-Stop springen.
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
kiaralle
User
Beiträge: 171
Registriert: Donnerstag 19. August 2021, 19:11

Ah so.
Die setze ich dann mit \t ?

Dann ist alles klar :-)

Danke


.... hat funktioniert :wink:
Benutzeravatar
snafu
User
Beiträge: 6943
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ist nichts anderes als in Word (oder Libre Writer), nur dass man ein \t schreiben muss anstelle der Tab-Taste. Aber schön, dass es geklappt hat. :)
Antworten