Как использовать виджет ввода на Tkinter для выполнения функции путем ввода параметров? - PullRequest
1 голос
/ 21 июня 2019

Я пишу код для бота Reddit, который берет любое заданное ключевое слово, ищет в данном заданном ключевом слове данное ключевое слово, и, если он находит это ключевое слово в поддредите, извлекает заголовок потока.

Я разработал графический интерфейс с Tkinter, и, используя виджет Entry, я хочу иметь возможность вводить данное ключевое слово в поле ввода и передавать его в мою основную функцию бота (run_bot), как указано ключевое слово при активации бота.

Теперь у меня есть виджет кнопки, настроенный для выполнения функции (run_bot), которая анализирует reddit при нажатии. Однако при этом выполняется функция (run_bot) с ключевыми словами по умолчанию и параметрами subreddit, которые я уже написал в серверной части.

Как получить любое ключевое слово, которое я ввожу в виджет ввода, подключиться к переданному параметру в функции run_bot и выполнить функцию соответствующим образом?

Надеюсь, я понял. Я могу также опубликовать код, если это необходимо, но я чувствовал, что в этом нет необходимости, поскольку я просто пытаюсь понять виджет ввода больше.

Спасибо

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Вы можете связать клавишу Enter с entry и вызвать ее run_bot со значением в entry в качестве параметра:

примерно так:

entry.bind('<Enter>', lambda: run_bot(entry.get()))
0 голосов
/ 21 июня 2019

Моей первой мыслью было бы использовать обратный вызов при каждом изменении записи. Посмотрите эту ветку для получения дополнительной информации: Как получить обратный вызов события, когда виджет Tkinter Entry изменен?

Но тогда вы выполняете функцию, которая срабатывает при каждом нажатии клавиши, я думаю. Если вы этого не хотите, вам, вероятно, придется использовать кнопку, которая запускает функцию execute.

...