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
   | def NumValidate(keycode, objname, valuetocheck):
 
    if keycode in ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]:
        return True
 
    if (keycode in [",", "."]) and (len(valuetocheck)==0):    #pas == 1
        myEntry.delete(0, 'end')
        myEntry.insert(0, '0.')
        # re-config semble nécessaire
        myEntry.config(validate="key", validatecommand=(root.register(NumValidate), '%S', '%W', '%s'))  #re-register
        return False
 
    if (keycode in [",", "."]) and (len(valuetocheck)==1):
        return True
 
    if (keycode in [",", "."]) and ("." in valuetocheck):   #pas in valuetocheck[:-1]
        return False
 
    if keycode in [".", ","]:
        myEntry.delete(0, 'end')
        myEntry.insert(0, valuetocheck + '.')   #pas valuetocheck[:-1]
        # re-config semble nécessaire
        myEntry.config(validate="key", validatecommand=(root.register(NumValidate), '%S', '%W', '%s'))  #re-register
        return False
 
    return False | 
Partager