通过命令制作时,如何更改按钮列?
python 187
原文标题 :How do I change the column of Buttons, when being made by command?
我正在从命令列表中制作按钮,我想知道如何制作它,以便在一定数量的按钮之后开始在不同的列上创建按钮?
例如:
list = [1,2,3,4,5,6,7,8,9,10]
def func(number):
some_function()
for number in list:
button = Button(root, text=number, command=lambda x=number: func(x))
button.grid()
所以在说制作了 5 个按钮之后,我想知道是否可以继续在第二列上制作按钮?
在尝试找到答案后,我没有成功,因此非常感谢您的帮助,谢谢。
回复
我来回复-
acw1668 评论
您可以使用列表中项目的索引和
divmod()
函数来计算行和列。也最好不要使用关键字list
作为变量名。# don't use keyword list as variable name itemlist = [1,2,3,4,5,6,7,8,9,10] def func(number): some_function() for idx, number in enumerate(itemlist): col, row = divmod(idx, 5) # change 5 to other value to suit your case button = Button(root, text=number, command=lambda x=number: func(x)) button.grid(row=row, column=col)
2年前