我想在我的骰子函式中放置一個影像,如果有人能告訴我我需要添加什么以便我可以將影像作為頁面的背景,我將不勝感激
def dice():
tk = Tk()
tk.geometry('300x300')
img = PhotoImage(file='dicee.gif')
lb5 = Label(tk,image=img)
lb5.pack()
btn4=Button(tk,text="Roll The Dice",command=dice)
btn4.place(x=110,y=130)
tk.mainloop()
它向我顯示的錯誤是:
self.tk.call(
_tkinter.TclError: image "pyimage1" doesn't exist
uj5u.com熱心網友回復:
實際上,您的代碼有兩個單獨的問題。一個是您正在創建多個實體,正如@Bryan Oakley 在評論中提到的那樣,Tk()這些實體存在問題。另一個是您PhotoImage在函式中創建,并且由于它是區域變數,因此在函式回傳時將被垃圾收集(請參閱為什么在函式中創建 Tkinter 影像不顯示?)
這是顯示如何解決這兩個問題的代碼:
from tkinter import *
def dice():
tk = Toplevel() # Create new window.
tk.geometry('300x300')
img = PhotoImage(file='dicee.gif')
lb5 = Label(tk, image=img)
lb5.img = img # Save reference to image.
lb5.pack()
tk = Tk()
btn4 = Button(tk, text="Roll The Dice", command=dice)
btn4.place(x=110, y=130)
tk.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/365759.html
