繁体   English   中英

在Tkinter中替换画布图像

[英]Replace Canvas Image in Tkinter

我有一个程序,我希望当有人单击按钮时,画布图像会改变。 我的代码如下:

from PIL import ImageTk,Image, ImageFont, ImageDraw
import tkinter
import textwrap
from tkinter import Frame, Canvas, Text, INSERT, END


root = tkinter.Tk()
root.geometry("296x337")
root.resizable(False, False)

im=Image.open("red.jpg")  
photo=ImageTk.PhotoImage(im)  
cv = tkinter.Canvas()  
cv.pack(side='top', fill='both', expand='yes')  
cv.create_image(0, 0, image=photo, anchor='nw')

def changepic():
    ###place where I want to change the Canvas Image
    print("change color")#I added this because python wouldn't let me run thee function without something.


a2=tkinter.Button(root,text='change color',bd=0, command=changepic)
a2.config(highlightbackground='black')
a2.place(x=135, y=70)

我没有使用Canvas,而是替换了代码,以便使用tkinter.Label打印图像:

from PIL import ImageTk,Image, ImageFont, ImageDraw
import tkinter
import textwrap
from tkinter import Frame, Canvas, Text, INSERT, END


root = tkinter.Tk()
root.geometry("296x337")
root.resizable(False, False)

img = ImageTk.PhotoImage(Image.open("red.jpg"))
panel = tkinter.Label(root, image=img)
panel.pack(side="bottom", fill="both", expand="yes")

def changepic(imagename):
    img2 = ImageTk.PhotoImage(Image.open(imagename))
    panel.configure(image=img2)
    panel.image = img2


a2=tkinter.Button(root,text='change color',bd=0, command=changepic("blue.jpg")
a2.config(highlightbackground='black')
a2.place(x=135, y=70)

我的信息来自: 如何更新Tkinter Label小部件的图像?

并且: https : //www.tutorialspoint.com/python/tk_label.htm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM