-1

How do I limit the input on a Entry to only 4 characters

from tkinter import *
window = Tk()

display = Entry(window)
display.grid()

1 Answers1

0

You can do this by running a trace on the attribute textvariable of the entry widget. Whenever this variable is updated you will need to set the variable to it's own value up to the 4th character.

See below:

from tkinter import *

class App:
    def __init__(self, root):
        self.root = root
        self.sv = StringVar()
        self.entry = Entry(root, textvariable = self.sv)
        self.entry.pack()
        self.sv.trace("w", lambda name, index, mode, sv=self.sv: self.callback(self.sv))
    def callback(self, sv):
        self.sv.set(self.sv.get()[:4])

root = Tk()
App(root)
root.mainloop()
Ethan Field
  • 4,646
  • 3
  • 22
  • 43