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


猜你喜欢
- <% &nbs
- 概述一般在开发中,查询网络API操作时往往是比较耗时的,这意味着可能需要一段时间的等待才能获得响应。因此,为了避免程序在请求时无响应的情况,
- 最近学习测试mybatis,单个增删改查都没问题,最后使用mvn test的时候发现了几个问题:1.update失败,原因是数据
- 代码很简洁,功能很实用,这里就不多废话了,直接给大家奉上代码:/** * Created by Administrator on 15-1-
- 良好的编程习惯是每个程序员都应该具备的工作素质,在我的软件生涯中屡屡发现一些程序员的身上总有这样或者那样的坏毛病。这些毛病在一些从业时间不是
- 本文介绍了PHP开发中遇到的数组问题,这里介绍了判断PHP数组为空的5种方法,有需要的朋友可以借鉴参考一下。1. isset功能:判断变量是
- 人常常感受到色彩对自己心理的影响,这些影响总是在不知不觉中发挥作用,左右我们的情绪。色彩的心理效应发生在不同层次中。有些属直接的刺激,有些要
- 如果想让字典的VALUE成为字典,只有最开始让其成为列表,如下面程序中的b>>> b={}>>> b={
- 使用 sorted() 函数使用 sorted() 函数对字典进行排序,将其转换为元组列表,再按照指定的键或者值进行排序。按照键排序的示例代
- 示例代码如下:#!/usr/bin/python#-*- coding: utf-8 -*-import matplotlib.pyplot
- 总的来说视觉设计是一个很大的范畴,囊括了我们身边很多产品的再创作设计,比如工业产品设计,广告设计,新媒体设计,服饰设计,还有我们这里要讨论的
- 在/etc/profile.d/简历oracle.sh内容如下在NLS_LANG设置编码ORACLE_HOME=/usr/lib/oracl
- 不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError、Unicode
- 任何数据库系统都无法避免崩溃的状况,即使你使用了Clustered,双机热备等等,仍然无法完全根除系统中的单点故障,何况对于大部分用户来说,
- 先以mysql的语句,聚合用在分组里,对mysql中groupby 是分组每什么的时候就要分组,如 每个小组,就按小组分,group by
- 本文分别介绍了安装python2和python3的详细方法,分享给大家。一、Windows系统很多童鞋问之前的教程怎么没有介绍安装pytho
- new和makenew// The new built-in function allocates memory. The first ar
- 表示文字链接最清楚的方式是“蓝色文字+下划线”,这是在浏览器发展过程中形成的。这个问题大家都说过很多次了,我也曾经说过。然而,这样的规范却总
- 作者:Rung András原文:How To Engage Customers In Your E-Commerce Website对于我
- 两个三维矩阵的乘法怎样计算呢?我通过实验发现,tensorflow把前面的维度当成是batch,对最后两维进行普通的矩阵乘法。也就是说,最后