Форум сайта python.su
Всех с наступающим Новым Годом!
Столкнулся с проблемой, которую ни как не могу решить. Необходимо динамически создать несколько кнопок с разными командами.
Вроде бы логика подсказывает как это сделать, но не работает.
Написал код для примера. Каждая кнопка должна выполнять свою команду, но не тут то было.
import tkinter as tk from tkinter import ttk root = tk.Tk() root.geometry('300x500+200+100') buttons= [1, 2, 3, 4, 5] def press_button(show): print(show) for item in buttons: locals()["button"+str(item)] = ttk.Button(root, text="button"+str(item), command=lambda: press_button(item)) locals()["button"+str(item)].pack(anchor="nw") print(id(locals()["button"+str(item)]))
Отредактировано m1r42 (Дек. 30, 2022 15:04:40)
Офлайн
Все решил вопрос. Вопрос закрыт.
import tkinter as tk from tkinter import ttk root = tk.Tk() root.geometry('300x500+200+100') buttons= [1, 2, 3, 4, 5] def press_button(show): print(show) for item in buttons: locals()["button"+str(item)] = ttk.Button(root, text="button"+str(item), command=lambda i=item: press_button(i)) locals()["button"+str(item)].pack(anchor="nw") print(id(locals()["button"+str(item)]))
Офлайн