1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import tkinter as tk
def NumValidate(keycode, MyEntry, valuetocheck):
if keycode in ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]:
return True
if keycode in [",", "."] and len(valuetocheck) == 0:
MyEntry.insert(0, "0.")
return False
if keycode in [",", "."] and "." in valuetocheck[:-1]:
return False
if keycode in [".", ","]:
MyEntry.delete(0, "end")
MyEntry.insert(0, valuetocheck[:-1] + ".")
return False
return False
root = tk.Tk()
myEntry = tk.Entry(root, name='myEntry', width=40)
myEntry.config(validate="key", validatecommand=(root.register(NumValidate), '%S', '%W', '%s'))
myEntry.pack()
root.mainloop() |
Partager