python tkinter 上的标签文本不会立即更改
Label text not changing instantly on python tkinter
在此脚本中,标签文本仅在 2 秒后更改。是否可以立即更改标签文本?我需要 time.sleep(2)
因为我正在使用 python-vlc
并且我想在播放音频之前更改标签文本。
import tkinter
import time
class MyGUI:
def __init__(self):
self.root = tkinter.Tk()
self.testLabel = tkinter.Label(self.root, text = 'I am suhail')
self.changetextBtn = tkinter.Button(self.root,text="change txt", command=self.chngbtn)
self.testLabel.pack()
self.changetextBtn.pack()
self.n_clicks = 0
tkinter.mainloop()
def chngbtn(self):
self.testLabel["text"] = f'Changed text: {self.n_clicks} times'
self.n_clicks+=1
time.sleep(2)
myGUI = MyGUI()
看到我正在尝试的代码
您可以在更改标签后立即使用self.root.update()
或self.root.update_idletasks()
刷新它。
def chngbtn(self):
self.testLabel["text"] = f'Changed text: {self.n_clicks} times'
self.root.update() # or self.root.update_idletasks()
self.n_clicks+=1
time.sleep(2)
在此脚本中,标签文本仅在 2 秒后更改。是否可以立即更改标签文本?我需要 time.sleep(2)
因为我正在使用 python-vlc
并且我想在播放音频之前更改标签文本。
import tkinter
import time
class MyGUI:
def __init__(self):
self.root = tkinter.Tk()
self.testLabel = tkinter.Label(self.root, text = 'I am suhail')
self.changetextBtn = tkinter.Button(self.root,text="change txt", command=self.chngbtn)
self.testLabel.pack()
self.changetextBtn.pack()
self.n_clicks = 0
tkinter.mainloop()
def chngbtn(self):
self.testLabel["text"] = f'Changed text: {self.n_clicks} times'
self.n_clicks+=1
time.sleep(2)
myGUI = MyGUI()
看到我正在尝试的代码
您可以在更改标签后立即使用self.root.update()
或self.root.update_idletasks()
刷新它。
def chngbtn(self):
self.testLabel["text"] = f'Changed text: {self.n_clicks} times'
self.root.update() # or self.root.update_idletasks()
self.n_clicks+=1
time.sleep(2)