【问题标题】:Entry.get() returns nothing tkinter - python 3.4Entry.get() 不返回任何内容 tkinter - python 3.4
【发布时间】:2015-11-29 14:38:53
【问题描述】:

在下面的代码中,我试图通过单击一个按钮来打开一个新窗口。传递给打开新窗口的函数的必要参数之一是从 entry.get() 方法获取的字符串,但该方法不返回任何内容。为什么会这样?

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() 在您启动程序时只被调用一次。定义函数并将其分配给command或使用lambda
  • 在这种情况下我将如何使用lambda?

标签: python-3.x tkinter tkinter-entry


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-06
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多