python tkinter 当entry的内容改变,如何执行一个函数

python tkinter 当entry的内容改变,如何执行一个函数

import tkinter as tk
from tkinter.filedialog import test
root=tk.Tk()
root.geometry('300x240')
def a():
        test=b1.get()
        if test!='':
                print(test)


def check_digit(content):
    if content.isdigit() or content == "":
        a()
        return True
    else:
        return False
entry_validate=root.register(check_digit)
b1 = tk.Entry(root,width=20,validate='key',vcmd=(entry_validate,'%P'))
b1.pack()

root.mainloop()

如果用vcmd,他需要输入下一个数字才能执行a()中的print
例如:
输入:1——输出:
输入:12——输出1
……

如何可以做到
输入1——输出1
输入12——输出12

阅读 4.9k
1 个回答

使用trace()函数可以实现

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题