Чтобы добавить команду к кнопке в цикле с помощью Tkinter в Python, вы можете использовать несколько методов. Вот несколько подходов, которые вы можете рассмотреть:
Метод 1. Использование лямбда-функции
import tkinter as tk
def button_command():
print("Button clicked!")
root = tk.Tk()
for _ in range(5):
button = tk.Button(root, text="Click me", command=lambda: button_command())
button.pack()
root.mainloop()
Метод 2: использование частичного из модуля functools
import tkinter as tk
from functools import partial
def button_command(button_number):
print(f"Button {button_number} clicked!")
root = tk.Tk()
for i in range(5):
button = tk.Button(root, text="Click me", command=partial(button_command, i))
button.pack()
root.mainloop()
Метод 3. Использование функции обратного вызова с аргументами
import tkinter as tk
def button_command(button_number):
def inner_function():
print(f"Button {button_number} clicked!")
return inner_function
root = tk.Tk()
for i in range(5):
button = tk.Button(root, text="Click me", command=button_command(i))
button.pack()
root.mainloop()
Эти методы демонстрируют различные способы динамического назначения команды кнопке в цикле. При нажатии каждая кнопка будет выполнять нужную функцию или метод.