#javascript #python #reactjs #tkinter
Вопрос:
предположим, у меня есть простая функция с 1 параметром
def handle_click(text):
print(text)
и у меня есть много кнопок, и каждая из них должна передавать другой текст в handle_click
функцию
если я передам аргумент внутри кнопки, он автоматически выполнит все функции, такие как:
Button(command=handle_click("display this"))
Button(command=handle_click("display that"))
Button(command=handle_click("show this"))
Button(command=handle_click("show that"))
но я хочу, чтобы эта функция запускалась при нажатии кнопки
В React.js я мог бы использовать функцию стрелки и сделать это так:
<Button onClick={() => {handleClick("show this")} }>
<Button onClick={() => {handleClick("show that")} }>
<Button onClick={() => {handleClick("so on")} }>
<Button onClick={() => {handleClick("so forth")} }>
Комментарии:
1. я хочу сделать то же самое в Python
2. Вы ищете
lambda
функции?
Ответ №1:
Ты мог бы сделать это:
Button(command=lambda: handle_click("display this"))
Button(command=lambda: handle_click("display that"))
Button(command=lambda: handle_click("show this"))
Button(command=lambda: handle_click("show that"))
Функция не будет автоматически запускаться при определении этих кнопок, и при каждом нажатии на эти кнопки handle_click
функция будет запускаться с указанными вами параметрами.
Комментарии:
1. почему кто-то недооценил мой вопрос ? :(. Можете ли вы вернуть его на 0
2. @SamandarYusupov: вероятно, потому, что подобные вопросы задавались и на них отвечали много раз, и в вашем вопросе не было никаких признаков проведения каких-либо исследований.
3. @SamandarYusupov в следующий раз сделай все возможное для поиска в Интернете. Очень вероятно, что такой вопрос уже существует.