[英]Why isn't tkinter updating the percentage completion?
我正在用AI在Tkinter制作國際象棋游戲。 現在,在我的助手中,我完成了以下操作(摘錄自我的全部代碼):
global chess_board
length = len(total_moves)
for index, move in enumerate(total_moves):
chess_board.percentage_label.config(text="Completion = {}".format(
int((index + 1) / length) * 100))
chess_board.update()
這是在我的chessAi類中,而chess_board是我的chessBoard類的一個實例。 但是,tkinter會等到循環結束,並且顯示的唯一兩個百分比是0和100。我該如何解決?
當您使用函數時,Tkinter將無法執行任何操作。 為了解決這個問題,您可以使用Thread,但是它並不優雅。 我會像這樣使用tkinter小部件的after方法:
def display(index):
move = total_moves[index]
[your code]
chess_board.percentage_label.after(0.01, lamda: display(index+1))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.