Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tkinter entry character limit [duplicate]

Tags:

python

tkinter

I only want to allow one character in a TKinter Entry box. How should I do that?

like image 885
ThatAussieScripter Avatar asked Feb 15 '26 04:02

ThatAussieScripter


1 Answers

Here I am 5 years later :)

from tkinter import *

Window = Tk()
Window.geometry("200x200+50+50") # heightxwidth+x+y

mainPanel = Canvas(Window, width = 200, height = 200) # main screen
mainPanel.pack()

entry_text = StringVar() # the text in  your entry
entry_widget = Entry(mainPanel, width = 20, textvariable = entry_text) # the entry
mainPanel.create_window(100, 100, window = entry_widget)

def character_limit(entry_text):
    if len(entry_text.get()) > 0:
        entry_text.set(entry_text.get()[-1])

entry_text.trace("w", lambda *args: character_limit(entry_text))

you can change this line of code: entry_text.set(entry_text.get()[-1])change the index in the square brackets to change the range

For example: entry_text.set(entry_text.get()[:5]) first 5 characters limit entry_text.set(entry_text.get()[-5:]) last 5 characters limit entry_text.set(entry_text.get()[:1]) first character only entry_text.set(entry_text.get()[:-1]) last character only

like image 110
Tom Fuller Avatar answered Feb 16 '26 19:02

Tom Fuller



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!