📜  在输入内容更改 tkinter 时在 python 中调用函数 - Python (1)

📅  最后修改于: 2023-12-03 14:51:33.810000             🧑  作者: Mango

在输入内容更改 tkinter 时在 python 中调用函数

在 Tkinter 中,可以使用 Entry 模块创建一个文本框,然后添加一个绑定函数,在文本框中输入时自动调用这个函数。

实现方法
  1. 首先,导入 Tkinter 模块,并创建一个 Tkinter 对象。
import tkinter as tk

root = tk.Tk()
  1. 使用 Entry 模块创建一个文本框,并将其绑定到一个变量中。
text_var = tk.StringVar()
text_box = tk.Entry(root, textvariable=text_var)
  1. 定义一个回调函数,在文本框输入内容改变时调用。回调函数的参数为 *args,其中第一个参数为文本框对象本身。
def on_text_changed(*args):
    print(text_var.get())
  1. 将回调函数与文本框绑定。使用 trace 方法跟踪文本变量的更改,并在更改时自动调用回调函数。
text_var.trace("w", on_text_changed)
  1. 最后,使用 pack 方法将文本框添加到窗口中。
text_box.pack()

完整代码如下:

import tkinter as tk

def on_text_changed(*args):
    print(text_var.get())

root = tk.Tk()

text_var = tk.StringVar()
text_box = tk.Entry(root, textvariable=text_var)
text_var.trace("w", on_text_changed)
text_box.pack()

root.mainloop()
效果演示

在文本框中输入内容时,会自动调用回调函数,并输出文本框中的内容。

test
hello world
总结

在 Tkinter 中,可以使用 Entry 模块创建一个文本框,并将其绑定到一个变量中。然后,通过跟踪变量的更改,可以自动调用一个回调函数,在文本框中输入内容时实时更新。这种方法可以用于实现实时搜索、实时计算和实时统计等功能。