这是我试图做的: 我想做一个if语句,说如果text =“o”(它点击时改变按钮的文本)使按钮被禁用。 另一个if语句是计算机将其中一个按钮变成“x”。之后,我想再次启用按钮。在任何地方有没有办法让一个按钮的文本变成一个if语句? (tkinter)
text = widget['text']
# or
text = widget.cget('text')
:
import tkinter as tk
board = tk.Tk()
def change(widget):
widget.config(text='o', command=None)
board.geometry("400x500")
board.title("Board")
a = tk.Button(board, the_part_I_tried_to_change1= text="Open Space")
a["command"] = lambda:change(a)
a.grid(row=0, column = 0)
b = tk.Button(board, the_part_I_tried_to_change2 = text="Open Space")
b["command"] = lambda:change(b)
b.grid(row=0, column = 1)
c = tk.Button(board, text="Open Space")
c["command"] = lambda:change(c)
c.grid(row=0, column = 2)
d = tk.Button(board, text="Open Space")
d["command"] = lambda:change(d)
d.grid(row=1, column = 0)
e = tk.Button(board, text="Open Space")
e["command"] = lambda:change(e)
e.grid(row=1, column = 1)
f = tk.Button(board, text="Open Space")
f["command"] = lambda:change(f)
f.grid(row=1, column = 2)
g = tk.Button(board, text="Open Space")
g["command"] = lambda:change(g)
g.grid(row=2, column = 0)
h = tk.Button(board, text="Open Space")
h["command"] = lambda:change(h)
h.grid(row=2, column = 1)
i = tk.Button(board, text="Open Space")
i["command"] = lambda:change(i)
i.grid(row=2, column = 2)a
你有功能'change'更改文本。在同样的功能中,你可以使用'widget.config(state =“disabled”)'来禁用按钮,但你可以在回答上一个问题时获得它。 – furas
获得'Button'文本你可以使用'widget ['text'] '(在函数'change'中)或'''text']'在任何地方。顺便说一句:如果你把按钮保存为列表 - “a [0]”,“a [1]”,“a [2]”等,而不是“a”,“b”,“c”等,会更容易。 – furas
有没有一种方法可以把它放在答案的上下文中?如果你能这样做会很好。 –