같은 클래스의 모든 인스턴스 인 일부 개체가 있습니다. 각 객체는 (하나의 속성으로) tkinter 버튼을 가지고 있으며, 각 tkinter 버튼이 그것이 속한 객체에 대한 메소드를 수행하기를 원합니다. 나는이 일을 어떻게해야하는지 잘 모릅니다. 나는 tkinter가 이미 버튼의 명령에 "self"를 넘겨주고있는 경우에 람다 함수를 수정하려고 시도했고 "self"를 "self_"로 바꾸었다. 저는 수업에 익숙하지 않고 오늘 전에 람다 함수를 접하지 않았으므로 놀라지 않았습니다. 예제 코드는 아래와 같습니다. 누군가가 간단하고 간결하며 파이썬적인 방식으로 작동하도록 만드는 방법을 설명해 주실 수 있습니까? 아니면 그런 해결책이 존재하지 않는다면 해결 방법을 제공 할 수 있습니까? 사전개체의 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()
오 주님! 다시 한 번 고마워, 그리고 나는 그것을 파괴하기 위해 바꿀 것이다. –