如何根据数组中的项目数显示GUI中正确数量的按钮?

时间:2017-04-25 13:43:52

标签: python-2.7 tkinter

通过引用Python tkinter creating buttons in for loop passing command arguments,我将代码修改为:

php artisan view:clear

这样就会有四个按钮“选项A”,“选项B”等等......

但是,发生的事情是我的窗户冻结而无法做任何事情。所以我把它关了。

当我改变这一行时,这不是问题:

self.listarray = ["Option A", "Option B", "Option C", "Option D"]
for i in range(len(self.listarray)):
    self.buttonlist.append(tk.Button(self, text=self.listarray[i], command=lambda i=i: self.printthis(i)))
    self.buttonlist[i].grid(column=1, row=i+1, sticky="W")
self.mainloop()

def printthis(self, thenum):
    print thenum
    self.destroy()

成为这个

self.buttonlist[i].grid(column=1, row=i+1, sticky="W")

但我也想自定义按钮的位置。我的代码中哪一部分错了?

1 个答案:

答案 0 :(得分:0)

您的代码中出现错误的部分是您将gridpack用于具有相同父级的窗口小部件的部分。您只能使用其中一个。如果您想使用grid按钮,则必须对具有相同父级的每个窗口小部件使用grid