我如何使用存储在字典中的类作为按钮的回调函数?

时间:2015-06-10 16:43:42

标签: python python-2.7 tkinter

我有一个与节名相对应的类字典,每个类代表每个节。 当创建GUI时,我不知道字典中会有多少个部分。我的解决方案是遍历各个部分,对于每个存在的部分,创建一个按钮并关联相应的类作为回调。

import Tkinter as tk

class SectionClass:
     def __init__(self):
          print("Created SectionClass")

class AnotherClass:
     def __init__(self):
          print("Created AnotherClass")


SectionDict = dict()

SectionDict["SectionClass"] = SectionClass
SectionDict["AnotherClass"] = AnotherClass

root = tk.Tk()

frame = tk.Frame(root, height=160, width=100,).grid(row=0, column=0)

row_iterator = 0
for section in SectionDict:
     tk.Label(frame, text=section).grid(row = row_iterator, column=0)
     tk.Button(frame, text="Create Section", command=lambda:   SectionDict[section]()).grid(row = row_iterator, column = 1)
     row_iterator += 1

root.mainloop()

两个按钮都只会创建SectionClass。是什么给了什么?

0 个答案:

没有答案