나는 당신이 달성하려고하는 것을 이해하는 것이 잘 모르겠지만, 내가 생각할 수있는 두 가지 옵션은 각각의 위젯을 통해
- 으로 반복하고 참조 값 (에 당신이 당신의 질문에서 연상 한 비교)
- 해당 위젯에 대한 수정에 결합하거나 새로운 값을 저장 또는 바인딩 콜백 통해 GUI에 전을 수행하기 위해 편집 된 위젯
일반적인 방법의리스트를 처리한다. Entry
및 ttk.Combobox
을 사용하는 경우 StringVar
및 trace
바인딩을 모두 처리 할 수 있습니다.
다음은 편집 된 위젯의 을 나타내는 콜백을 보여주는 스 니펫입니다 (this answer에서 영감을 얻음). 손상된 목록 (편집 된 위젯 포함) 또는 수정 된 값만있는 데이터 구조를 처리하는 것은 사용자의 책임입니다.
from Tkinter import *
import ttk
def callback(name, sv):
print "{0}: {1}".format(name, sv.get())
root = Tk()
sv = StringVar()
sv.trace("w", lambda name, index, mode, sv=sv: callback("one", sv))
e = Entry(root, textvariable=sv)
e.pack()
sv = StringVar()
sv.trace("w", lambda name, index, mode, sv=sv: callback("two", sv))
e = Entry(root, textvariable=sv)
e.pack()
sv = StringVar()
box = ttk.Combobox(root, textvariable=sv)
box.pack()
box['values'] = ('X', 'Y', 'Z')
box.current(0)
sv.trace("w", lambda name, index, mode, sv=sv: callback("three", sv))
root.mainloop()