Как я могу сделать счетчик живого лимита для виджета входа

Я должен сделать действительный счетчик лимита для моего поля ввода пароля. Мне нужен живой лимит счетчик, который подсчитывает количество введенного текста.

Я использовал кнопку, чтобы узнать количество текста в поле ввода, но я хочу, чтобы он работал.

Мой код

from tkinter import *

Root=Tk()
Entry1=Entry(Root)
length=len(Entry1.get())
Labellen=Label(Root,text= 
(length,"/10"),bg="black",fg="green")

def check():
    if len(Entry1.get())>10:
        length=len(Entry1.get())
        Labellen.configure(text=("you have reached maximum limit ", length , " /10"),fg="red")    
    else:
        length=len(Entry1.get())
        Labellen.config(text=(length,"/10"))

Entry1.configure(font=('MS Serif',10),bg="light 
blue",relief="groove",bd=15,
insertbackground="red",insertborderwidth=15)
Entry1.pack()

Labellen.pack()

Btn=Button(Root,text="check limit",command=check)
Btn.pack()

Root.mainloop()

1 ответ

Вы можете сделать это с помощью validatecommand параметр ткинтера Entry, Для более подробной информации, посмотрите на документы.

import tkinter as tk

root = tk.Tk()

def check(why):
    ctr.set(len(why))
    return True

count = root.register(check)
entry = tk.Entry(root, validate="key", validatecommand=(count, '%P'))
entry.grid(row=0, column=0, padx=10, pady=5)
entry.focus_set()

ctr = tk.StringVar()
ctr.set(0)
tk.Label(root, text='Counter: ').grid()
counter = tk.Label(root, textvariable=ctr, bg='white')
counter.grid()

root.mainloop()

ht tps://stackru.com/images/2202bbc047748406ef730c060972dce6a77c2b99.gif

Другие вопросы по тегам