Как я могу сделать счетчик живого лимита для виджета входа
Я должен сделать действительный счетчик лимита для моего поля ввода пароля. Мне нужен живой лимит счетчик, который подсчитывает количество введенного текста.
Я использовал кнопку, чтобы узнать количество текста в поле ввода, но я хочу, чтобы он работал.
Мой код
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