"after" looping indefinitely: never entering mainloop
You want to do self.frame.after(500, self.updateBoard)
.
The difference here is subtle, (self.updateBoard
instead of self.updateBoard()
). In your version, you're passing the result of your function to the after
method instead of passing the function. This results in the infinite recursion that you described.