Python 3.5,tkinter需要一个按钮来创建一个新类

时间:2015-12-19 11:45:33

标签: python class button lambda tkinter

我一直在制作这个python程序(最初作为我学校作业的一部分,现在只供我自己使用)。该程序实际上只是按照我希望的方式工作,但我已经制作了大量x1 = Button(...)等行,我想稍微清理一下。不幸的是我的代码实际上并不是用英文写的(这有点愚蠢,imo),所以我不认为我会在这里发布整个代码,而只是我遇到问题的部分。

我以为我会在for循环中制作按钮,按钮实际上就像我想要的那样,但是按下它们实际上什么也没做。我希望按钮启动一个新类(它将启动一个全新的窗口),并为类提供一个参数,该参数将是索引为i的列表中的项目,并销毁旧窗口,但无论我如何操作,除了只是在那里,按钮不会做任何事情。

for i in range(0, L):
        Button(self.__window, text=((str(i+1)+". "+lists[i])),
               padx=100, command=(self.__window.destroy, lambda j=i:
            Class2(lists[j]))).grid(row=(i+1), column=0, sticky=W + E)

现在,首先我在没有lambda函数的情况下尝试使用它

command=(self.__window.destroy, Class2(lists[i]))

但这甚至没有创建按钮。然后我一直在谷歌上搜索关于lambda的信息,但是我真的没有关于lambda函数的任何信息......不确定我的lambda是否是正确的形式!

就像我说的那样,在没有lambda的情况下手动完成所有这些按钮"工作"对于它,但我确信必须有一个更简单的方法来做我想要的!任何帮助,将不胜感激! :)

0 个答案:

没有答案