У меня есть некоторые объекты, которые являются экземплярами одного и того же класса; каждый объект имеет (как один из его атрибутов) кнопку tkinter, и я хочу, чтобы каждая кнопка tkinter выполняла метод на объекте, к которому он принадлежит. Я не совсем уверен, как это сделать. Я пробовал возиться с лямбда-функциями и заменять «я» на «self_» в случае, когда tkinter уже передавал «я» команде кнопки, но ни одна из них не работала; Я новичок в занятиях и до сегодняшнего дня не сталкивался с лямбда-функциями, поэтому меня это не удивило. Пример кода ниже - пожалуйста, может кто-нибудь объяснить, как заставить его работать таким образом, который является простым, кратким и питоническим, или если такое решение не существует, то обеспечьте работу? Заранее спасибоМетод вызова кнопки Tkinter для объекта
import tkinter as tk
from tkinter import ttk
class SpecialButton():
def __init__(self, row):
self.button = ttk.Button(root, text="button", command=self.delete)
self.button.grid(row=row, column=1)
self.label = ttk.Label(root, text="label")
self.label.grid(row=row, column=2)
def delete(self):
self.button.forget()
self.label.forget()
#some other stuff
root = tk.Tk()
for row in range(3):
SpecialButton(row)
root.mainloop()
О, Боже мой! Еще раз спасибо, и да, я изменю его, чтобы уничтожить. –