Я хочу установить цвета объекта и не хочу создавать 10 функций для каждого цвета. Итак, я просто хочу объявить цвета и создать 10 кнопок и одну функцию. Сообщение об ошибке:Как передать параметр в лямбда-функции в python?
<lambda>() missing 1 required positional argument: 'green'
Код:
from tkinter import *
green=["#5bd575","#55c76d"]
#different colors should follow here
root=Tk()
Btn=Button(text="Trigger lambda", command=lambda green: printfunction(green))
Btn.pack()
def printfunction(colorset):
print(colorset)
Это не должно быть лямбда-функции, вопрос только, как я могу назвать printfunction
с аргументом, нажав на кнопку?
Я нашел способ, но мне это не совсем удобно: command = self.start_set_color function, которая вызывает функцию для каждого цвета (2 строки), которая вызывает вторую общую функцию «self.set_color» (которая получает цвет как параметр, но еще более одной функции – user2366975
нашел решение, похожее на первую идею с lambda: command = lambda: set_color («зеленый») для зеленой кнопки. лямбда просто нужно вызывать без параметра. чувствуя себя глупо. – user2366975