所以我在 tkinter 的画布上有一张 .gif 图片。我想让这张照片变成另一张照片……但只持续三秒钟。并将其恢复到原始图片。
def startTurn(self):
newgif = PhotoImage(file = '2h.gif')
self.__leftImageCanvas.itemconfigure(self.__leftImage, image = newgif)
self.__leftImageCanvas.image = newgif
while self.cardTimer > 0:
time.sleep(1)
self.cardTimer -=1
oldgif = PhotoImage(file = 'b.gif')
self.__leftImageCanvas.itemconfigure(self.__leftImage, image = oldgif)
self.__leftImageCanvas.image = oldgif
这是快速查看计时器后的第一次尝试。我知道这段代码没有意义,但在我继续盲目地试图弄清楚它之前,我宁愿有更有经验的输入。
Tkinter 小部件有一个名为after
它可用于在指定时间段后运行函数。要创建图像并在三秒后更改它,您可以执行以下操作:
def setImage(self, filename):
image = PhotoImage(file=filename)
self.__leftImageCanvas.itemconfigure(self.__leftImage, image=image)
self.__leftImageCanvas.image = image
def startTurn(self):
'''Set the image to "2h.gif", then change it to "b.gif" 3 seconds later'''
setImage("2h.gif")
self.after(3000, lambda: self.setImage("b.gif"))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)