How to restrict lenght of entry widget to certain number of character

Peter Otten __peter__ at web.de
Thu Jun 2 03:47:57 EDT 2005


Michael Onfrek wrote:

> I'm playing with entry again and trying to restrict length of entry
> widget to certain number of character, so users cannot enter more
> character into it. Any ideas?

import Tkinter as tk
root = tk.Tk()
var = tk.StringVar()

max_len = 5
def on_write(*args):
    s = var.get()
    if len(s) > max_len:
        var.set(s[:max_len])
        
var.trace_variable("w", on_write)
entry = tk.Entry(root, textvariable=var)
entry.pack()
root.mainloop()

Not very elegant, but better than nothing.

Peter




More information about the Python-list mailing list