Python Tkinter实现按钮点击切换图片的正确方法
本文介绍如何在Python Tkinter中通过按钮点击切换图片。重点解决直接重写Label对象导致图片不显示的问题,推荐使用configure方法更新image属性。同时说明Tkinter对GIF格式的支持及Linux系统下手动安装tkinter的步骤,提供完整代码示例与效果演示。
tkinter是Python的标准Tk GUI工具包接口。在Windows系统中,如果安装的是Python 3,通常会在安装Python时自动包含tkinter模块。
若在Linux系统中使用,tkinter通常不会自动安装,需要通过
sudo apt-get install python-tk
手动安装
首先说明,tkinter本身仅支持GIF等少数图片格式。如果图片内容不复杂,建议直接右键点击图片进行编辑,在画图工具中将图片另存为GIF格式即可使用(值得注意的是,它甚至不支持PNG和JPEG格式,这一限制确实有些特殊)。


具体的编程操作
如果尝试直接重写设置图片的相关代码,可能会遇到问题。
例如,
import tkinter as tk
top = tk.Tk()
top.title("划水摸鱼") # 设置窗口
width = 260
height = 500
top.geometry(f'{width}x{height}') # 设置窗口大小
img_gif = tk.PhotoImage(file='./动作/问号.gif') # 设置图片
label_img = tk.Label(top, image=img_gif) # 设置预显示图片
label_img.place(x=30, y=120)
def change_img(): # 设置按钮事件
img_gif0 = tk.PhotoImage(file='./动作/走.gif')
label_img.configure(image=img_gif0)
label_img.place(x=30, y=120)
button = tk.Button(top, text='Prediction', command=change_img) # 设置按钮
button.place(x=90, y=330)
top.mainloop()
这里我直接重写了label_img变量,但实际效果是
问号.gif能够正常显示,

点击按钮后,走.gif无法显示

实际切换图片时,应该使用configure方法来实现。
正确的操作如下
import tkinter as tk
top = tk.Tk()
top.title("划水摸鱼") # 设置窗口
width = 260
height = 500
top.geometry(f'{width}x{height}') # 设置窗口大小
img_gif = tk.PhotoImage(file='./动作/问号.gif') # 设置图片
img_gif0 = tk.PhotoImage(file='./动作/走.gif')
label_img = tk.Label(top, image=img_gif) # 设置预显示图片
label_img.place(x=30, y=120)
def change_img():
label_img.configure(image=img_gif0) # 设置按钮事件
button = tk.Button(top, text='Prediction', command=change_img) # 设置按钮
button.place(x=90, y=330)
top.mainloop()
具体效果

点击按钮后

到此这篇关于Python基于Tkinter点击按钮实现图片切换的文章就介绍到这了,更多相关Python Tkinter图片切换内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













