消息框停止更新窗口的功能(之前称为)

时间:2019-04-21 17:14:04

标签: python tkinter

该窗口不会在消息框之前更新,但是会在消息框之前调用更新函数(printBoard())。

我在使用井字游戏来针对机器人编写脚本时遇到问题,当有赢家或平局游戏时,程序会使用消息框向用户显示该消息,但是在我的代码中,我调用了函数printBoard(board)这将更新游戏窗口。之后,我打电话给messagebox.showinfo,但是一旦消息框显示出来,木板就没有更新。

(问题出在函数checkWinner(board)中)

def printBoard(board):
    bbuttons = [[0,0,0],[0,0,0],[0,0,0]]
    for y in range(0,3):
        for x in range(0,3):
            bbuttons[y][x] = Button(text=board[y][x], font= ('Arial',50))
            bbuttons[y][x].grid(row=y, column=x)
            bbuttons[y][x].config(height=1, width=3)

    return

if checkWinner(board) == 'X':
                o = printBoard(board)
                messagebox.showinfo("WON!", "YOU WON!")
                board = [[' ',' ',' '],[' ',' ',' '],[' ',' ',' ']]
                root.destroy()
                start()

输出:

[['X', 'X', 'O'], ['O', 'X', 'X'], ['X', 'O', 'O']]

我希望对板进行更新,以便可以看到例如连续三个x。 (现在它不只是在您单击最后一个图块时显示消息框)

更新:现在我回到家,在Windows PC上运行了该脚本,它可以正常工作。似乎专门用于Mac(我也在另一台Mac上进行了测试)。

0 个答案:

没有答案