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
在下面的代码中,我试图通过单击按钮打开一个新的 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