[英]Python/Tkinter: How to change Label widget with using Entry widget?
[英]How to change image in a Label in python using tkinter?
我在标签中有一个图像,并且我希望在按下按钮时更改该图像,但不要更改图像,而是将窗口变为空白:
from tkinter import *
from PIL import Image,ImageTk
import os
root = Tk()
root.state("zoomed")
def chng():
photo2 = ImageTk.PhotoImage(Image.open("upload.jpg"))
img.config(image = photo2)
img.grid()
photo = ImageTk.PhotoImage(Image.open("cat.jpg"))
img = Label(root,image = photo)
upload = Button(root, text= "Upload" ,height = 3, width = 12, command =
chng)
upload.grid( )
for col_num in range(root.grid_size()[1]):
root.columnconfigure(col_num, minsize=600)
for row_num in range(root.grid_size()[1]):
root.rowconfigure(row_num, minsize=60)
img.grid()
root.mainloop()
您必须保留对图像的引用。
def chng():
photo2 = ImageTk.PhotoImage(Image.open("upload.jpg"))
img.config(image = photo2)
img.photo_ref = photo2 # keep a reference
而且您不需要额外的grid()
调用。
尝试这个:
def chng():
photo2 = ImageTk.PhotoImage(Image.open("upload.jpg"))
img.config(image = photo2)
img.grid()
root.update_idletasks()
import Tkinter as tk
from PIL import Image
class Application(tk.Frame):
def __init__(self, master=None):
tk.Frame.__init__(self, master)
self.grid(row=5,column=2)
self.createWidgets()
top = self.winfo_toplevel()
def createWidgets(self):
self.grid()
app = Application()
simge = tk.PhotoImage(file="bg.png")
hira1 = tk.Label(image=simge)
hira1.grid(row=0,column=0,rowspan=5)
def manu1(event):
simen1=tk.PhotoImage(file="bg1.png")
hira1.configure(image=simen1)
hira1(image=simen1)
hira1.bind("<Button 1>",manu1)
app.mainloop()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.