[英]Tkinter message box pops up before other actions
我正在努力弄清楚如何讓消息框在正確的時刻彈出。 它似乎總是在 window 更新以顯示我想要的內容之前彈出。 這是一個例子; 我希望按鈕的文本在消息框彈出之前更新為 3,但在我單擊消息框上的“確定”后它總是會更新。
from tkinter import *
from tkinter import messagebox
win = Tk()
count = 0
def click():
global count
count += 1
btn.config(text=count)
if count == 3:
messagebox.showinfo('The count is 3')
btn = Button(text='', command=click)
btn.pack()
win.mainloop()
運行您的示例代碼,我看到您描述的相同行為。 我可以通過在調用messagebox.showinfo()
win.update()
的調用來解決它。 下面的完整代碼雖然我將count
從原始int
更改為IntVar
這對您的問題沒有任何影響,但我只是想看看它是否會:
from tkinter import *
from tkinter import messagebox
def click():
count.set(value := count.get() + 1)
if value == 3:
win.update()
messagebox.showinfo(f"The count is {value}")
win = Tk()
count = IntVar(win, value=0)
Button(win, command=click, textvariable=count).pack()
win.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.