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()
Wie kann man das ganze besser machen?