Python 在tkinter标签中显示图片
在上面的代码中,为什么图片显示在window1中而不是window2中?如果图像作为一个参数传递给函数,它就会工作!使用Python3运行。变量Python 在tkinter标签中显示图片,python,tkinter,Python,Tkinter,在上面的代码中,为什么图片显示在window1中而不是window2中?如果图像作为一个参数传递给函数,它就会工作!使用Python3运行。变量img是函数picture()的一个局部变量,该函数在函数退出后会收集垃圾。保存对照片的引用,例如: import tkinter as tk from tkinter import ttk def picture(): window2 = tk.Toplevel() window2.title("Window2") win
img
是函数picture()
的一个局部变量,该函数在函数退出后会收集垃圾。保存对照片的引用,例如:
import tkinter as tk
from tkinter import ttk
def picture():
window2 = tk.Toplevel()
window2.title("Window2")
window2.geometry("300x300")
window2.configure(background='grey')
f = "C:\\Users\\Bob\\Documents\\Python\\bb.gif"
img = tk.PhotoImage(file =f)
panel = ttk.Label(window2, width= 100, background = "green", image =img)
panel.grid(column=1, row=1, sticky=(tk.W,tk.E))
#Start the GUI
window = tk.Tk()
window.title("Window1")
window.geometry("300x300")
window.configure(background='grey')
f = "C:\\Users\\Bob\\Documents\\Python\\bb.gif"
img = tk.PhotoImage(file = f)
panel = ttk.Label(window, width= 100, background = "green", image =img)
panel.grid(column=1, row=1, sticky=(tk.W,tk.E))
picture()
window.mainloop()
作为函数中的最后一行
panel.image = img