Entry.get() returns 没有 tkinter - python 3.4

Entry.get() returns nothing tkinter - python 3.4

在下面的代码中,我试图通过单击按钮打开一个新的 window。传递给打开新 window 函数的必要参数之一是从 entry.get() 方法中获取的字符串,但方法 returns 什么都没有。为什么会这样?

window = tk.Toplevel(self)
doc = Document(self.entry_filepath.get())

entry_doc_id = tk.Entry(window, width=20)
entry_doc_id.grid(sticky=W+E+N+S, row=0, column=1, columnspan=3)

button_country_views = tk.Button(window, text="Views by country", command=partial(self.display_views_by_country, doc, entry_doc_id.get()), width=25)                                                               
button_country_views.grid(row=1, column=1, sticky=W+E+N+S)
当您启动程序时,

Entry.get() 仅被调用一次(由 partial)。

您可以使用 lambda 代替 partial

command=lambda:self.display_views_by_country(doc, entry_doc_id.get())

或者您可以定义函数并将其分配给command

def my_function():
    self.display_views_by_country(doc, entry_doc_id.get())

command=my_function