我正在用python创建一个基本的TicTacToe UI,并且我相信此代码的基本项是一个reset按钮,该按钮会将您的代码重置为默认值。还有其他方法吗?
我试图定义一个将按钮的文本重新设置为“”的函数,但是由于鳕鱼内的许多其他复杂性,我认为这不是一个好主意。
from tkinter import *
root = Tk()
def changetext():
BTN1["text"] = "X"
BTN1 = Button(root, text=" ", command=changetext)
BTN1.pack()
root.mainloop()
所以我想在此处添加一个按钮,上面写着“重置文本”,并将所有代码重置为默认代码。
答案 0 :(得分:0)
重置游戏的最简单方法是
reset_UI()
功能按照您的建议重置UI 这当然意味着您需要将所有变量和函数包装在板类Board
中,这样就不必担心复位时会产生十亿个全局变量。重置之间唯一应该保留的是UI按钮,可以在初始化游戏面板之前在main()
函数中创建这些按钮。
答案 1 :(得分:0)
以下代码演示了如何完成类似操作(以及其他一些操作):
import tkinter as tk
def toggle(btn):
if btn["text"] == "X":
btn["text"] = " "
else:
btn["text"] = "X"
def reset(buttons):
for btn in buttons.values():
btn["text"] = " "
root = tk.Tk()
buttons = {}
for row in range(3):
for col in range(3):
button = tk.Button(root, text=" ", width=1, height=1)
button.config(command=lambda btn=button: toggle(btn))
button.grid(row=row, column=col)
buttons[row, col] = button
reset_button = tk.Button(root, text="Reset", command=lambda: reset(buttons))
reset_button.grid(columnspan=3)
root.mainloop()