如何通过输入参数使用Tkinter上的入口小部件执行功能?

时间:2019-06-21 11:08:39

标签: python tkinter reddit tkinter-entry praw

我正在为reddit机器人编写代码,该机器人使用任何给定的关键字,在任何给定的subreddit中搜索该给定的关键字,如果在subreddit中找到该关键字,则拉出该线程的标题。

我已经用Tkinter开发了一个GUI,并使用Entry小部件,我希望能够在输入框中键入给定的关键字,并将其作为给定的值传递到我的主要bot函数(run_bot)中激活机器人时的关键词。

现在,我已经设置了一个按钮小部件来执行一个函数(run_bot),该函数在单击时解析reddit。但是,这将使用我已经在后端编写的默认关键字和subreddit参数来执行功能(run_bot)。

如何获取在输入小部件中键入的任何关键字,如何将其连接为run_bot函数中的传入参数,然后相应地执行该函数?

我希望我有道理。我也可以在需要时发布代码,但是我觉得这不是必需的,因为我只是想更加了解入门小部件。

谢谢

2 个答案:

答案 0 :(得分:1)

您可以将Enter键绑定到entry,并用run_bot中的值作为参数调用entry

类似这样的东西:

entry.bind('<Enter>', lambda: run_bot(entry.get()))

答案 1 :(得分:-1)

我的第一个想法是每次条目更改时都使用回调。观看此线程以获取更多信息:How do I get an event callback when a Tkinter Entry widget is modified?

但是我认为每按一次键就会触发执行功能。如果您不希望这样做,则可能必须使用触发执行功能的按钮。