【问题标题】:Automatically Update a Variable from Tkinter Entry Widget从 Tkinter 条目小部件自动更新变量
【发布时间】:2018-04-23 23:59:09
【问题描述】:

我正在尝试在 Python 3 中使用 tkinter 在 GUI 中创建实时搜索算法。 所以我有这个窗口和输入框用于输入关键字进行搜索:

from tkinter import *

root = Tk()
root.geometry('800x400')
root.resizable(False,False)
root.title('Window')

var = StringVar()

root.SearchBox = ttk.Entry(root, textvariable=var, font='Fixedsys 28')
root.SearchBox.place(relx=0.5, rely=0.5, height=50, width=400, anchor="center")
search_input = var.get()

我应该在这里放什么,没有搜索框的输入按钮

...Some codes here...

要得到以下结果?

当 tkinter 窗口已经打开时 以及在搜索输入框中输入的一些关键字

>>>print(search_input)
Search Terms

只要搜索输入框search_input =! '' 我怎么能得到一个全局变量来改变,比如说 is_entry_box_empty = Falseis_entry_box_empty = True

我发现如果没有线程,这是不可能的,因为 GUI 窗口会阻止它之后的任何代码。

非常感谢

【问题讨论】:

    标签: python python-3.x tkinter


    【解决方案1】:

    您可以跟踪文本变量中的变化:

    var.trace('w',var_change_callback_function)
    

    并编写一个函数来处理这些变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-15
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      • 1970-01-01
      相关资源
      最近更新 更多