Entrygröße an Inhalt anpassen

Fragen zu Tkinter.
Antworten
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Hallo,

in einem Programm verwende ich ein Entry, dessen Inhalt von ganz unterschiedlicher Länge sein kann. Dieser soll problemlos zu lesen sein ohne dass ich die Breite des Entrys verändern muss.

Mein Vorschlagt sieht bisher so aus:

Code: Alles auswählen

import Tkinter as tk


def anpassen(e):
    zeichen = len(entry.get())
    breite = entry.cget('width')
    print 'Länge des Textes:', zeichen
    print 'Breite des Entrys: ', breite
    if zeichen > breite:
        print entry.cget('font')
        entry.config(font=('Arial', int(entry.cget('font').split()[-1])-1), width=breite+3)
    print '\n\n'
    
    

win = tk.Tk()


entry = tk.Entry(win, font=('Arial', 12))
entry.pack(padx=50, pady=50)

entry.bind('<1>', anpassen)

win.mainloop()
Ich bezweifle, dass das die optimale Lösung ist.
Wie kann man das ganze besser machen?
Antworten