嗨,我正在尝试做一个代码,当一个图像按钮被按下时,它会用一个图像标签来代替一个图像按钮。但是窗口没有更新,所以新图像不可见。有人能帮我吗?如果有可能的话。在
我正在尝试的代码是:
from tkinter import *
import time
gifdir = "./"
class Game:
def __init__(self):
self.__window = Tk()
igm = PhotoImage(file=gifdir+"empty.gif")
Button(self.__window, image=igm, command= self.change_picture)\
.grid(row=1, column=2, sticky=E)
def change_picture():
igm = PhotoImage(file=gifdir+"new.gif")
Label(self.__window, image=igm,)\
.grid(row=1, column=2, sticky=E)
self.__window.mainloop()
def main():
Game()
main()
当我把这个代码加到末尾时:
^{pr2}$新图片会显示一秒钟,但我需要一直看到它,并且还能按其他按钮。在
我修改了你的代码,因为你的代码设计非常奇怪,而且IMO不正确。这是修改后的版本:
在这个新版本中,按下按钮,会改变它上面的图像。基本上,在类中,需要保留对已创建小部件的引用。尤其是为
PhotoImage
保留引用很重要,就像没有保留引用一样,垃圾回收器将删除该映像,PhotoImage
的实例将超出change_picture
中的作用域。在相关问题 更多 >
编程相关推荐