首页 > 解决方案 > 在 tkinter 窗口中替换图像时,如何防止图像向下移动?

问题描述

def buttonpress():
global clicks
clicks += 1
gametitle.configure(text=clicks)
if clicks == 10:
    global p, pic
    p.config(image='')
    pic = tkinter.PhotoImage(file="test2.png")
    p = tkinter.Label(root, image=pic)
    p.pack()
elif clicks == 20:
    p.config(image='')
    pic = tkinter.PhotoImage(file="test3.png")
    p = tkinter.Label(root, image=pic)
    p.pack()

所以我想做的是在带有图像的tkinter窗口中单击一个按钮,然后在达到一定数量的“点击”后,图像会发生变化,但问题是:当图像发生变化时,它会左右移动/向下移动tkinter 窗口,扰乱了其他小部件的位置。我一直在尝试通过在创建新图像之前删除图像来解决这个问题,所以它不会移动任何东西,但我没有这样的运气。有什么建议吗?

标签: pythontkinter

解决方案


您需要更新旧标签,而不是创建新标签。假设您已经创建了一个名为“p”的标签:

if clicks == 10:
    pic = tkinter.PhotoImage(file="test2.png")
    p.img = pic
    p.config(image=pic)

推荐阅读