python基于tkinter点击按钮实现图片的切换
作者:Chauncey_Wang 发布时间:2022-03-18 10:22:31
标签:tkinter,点击按钮,图片,切换
tkinter是python的标准Tk GUI工具包的接口,在windows下如果你安装的python3,那在安装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()
具体效果
点击按钮后
来源:https://blog.csdn.net/weixin_39518984/article/details/115480844
0
投稿
猜你喜欢
- 通过python+splinter,实现在12306网站刷票并自动购票流程(无法自动识别验证码)。此类程序只是提高了12306网站的 <
- 代码如下:--函数 CREATE function fn_GetPy(@str nvarchar(4000)) returns nvarch
- 我听说在ASP里,可以不用DSN来连接EXCEL,请问如何实现?确实ASP提供了替代DSN的其他方法,甚至可以在运行时建立连接看看下面的范例
- 问题描述:1、(先添加时间戳,再复制移动,两个文件加下面的文件名都被修改)将 /home/kangle/webdata/JPEGImages
- Python 风格规范(Google)本项目并非 Google 官方项目, 而是由国内程序员凭热情创建和维护。如果你关注的是 Google
- 引言我们经常听到"因为GIL的存在,python的多线程不能利用多核CPU",现在我们暂且不提GIL,python能不能
- pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。pip检测更新命令:pip list –
- TihuanWords.txt文档格式注意:同一行的词用单个空格隔开,每行第一个词为同行词的替换词。年休假 年假 年休究竟 到底回家场景 我
- <html> <head> <title>Login</title> <meta ht
- 1.定义ResNet残差模块一个block中,有两个卷积层,之后的输出还要和输入进行相加。因此一个block的前向流程如下:输入x→卷积层→
- 为了使一个MySQL系统安全,强烈要求你考虑下列建议……当你连接一个MySQL服务器时,你通常应
- ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数
- 本文中介绍的主要是SQL语句,请大家不要在Access中使用。SQL的分类:DDL—数据定义语言(CREATE,ALTE
- 当然如果想了解更多编辑器的原理制作方法,只有你自己去下载一个在线编辑器,慢慢研究,相信会有更多的收获!HTML在线编辑器的基本概念1,什么是
- 基于smtplib包制作而成,但在实践中发现一个不知道算不算是smtplib留的一个坑,在网络断开的情况下发送邮件时会抛出一个socket.
- 注:使用的是Python2.7。一、实例方法实例方法就是类的实例能够使用的方法。如下:class Foo:  
- 本文实例讲述了Python筛选及提取序列中元素的方法。分享给大家供大家参考,具体如下:问题:提取出序列中的值或者根据某些标准对序列做删减解决
- 1. 单行导入与多行导入在 Go 语言中,一个包可包含多个 .go 文件(这些文件必须得在同一级文件夹中),只要这些 .go 文件的头部都使
- 继续我们的 Javascript 优化计划,上期已经做到怎么尽可能的缩小 Javascript 脚本的文件体积便于传输。不过这样做仅仅是不够
- 300来行python代码实现简易版学生成绩管理系统,供大家参考,具体内容如下使用链表来实现class Node(object): def