Python Tkinter - 带按钮的字典 - 如何禁用它们?

时间:2017-12-14 20:42:30

标签: python dictionary button random tkinter

我用字典创建了一个7x7的按钮字段。

问题1:我需要随机禁用用户输入数量的按钮。 用户写一个数字x和x按钮将被阻止,但我的程序必须随机选择它们...
问题2:其余按钮可用。但是如果你点击一个,他们会改变颜色并获得state = tk.DISABLED

如何使用充满按钮的词典完成所有这些操作?

buttons = {}
for x in range(0, 7):
    for y in range(0, 7):
        buttons[tk.Button(frame_2, height=5, width=10, bg="yellow",command=self.claim_field)] = (x, y)
    for b in buttons:
        x, y = buttons[b]
        b.grid(row=x, column=y)
def claim_field():
    #changing Color of button and blocking the same button

感谢您的回答,抱歉我的英语不好:)

1 个答案:

答案 0 :(得分:0)

我使用tmux a -t mywindow 来保留按钮,现在

  • 我使用button[(x,y)] = tk.Button()生成随机random.randrange(),我可以停用x,y

  • 我使用buttons[(x,y)]来协助使用参数lambda的按钮功能,因此函数知道点击了哪个按钮并且可以禁用它。

当你禁用随机按钮时,你必须检查它是否有效。如果它已经被禁用,那么你将不得不选择另一个随机按钮 - 所以你必须使用x,y循环。

while