所以我寫了這個:
from tkinter import *
from locate import this_dir
path = str(this_dir())
print(path "\\BGnew.png")
window = Tk()
window.geometry("480x480")
window.title("CodeHook - Start Menu")
ico = PhotoImage(file = path "\\icon.png")
bg = PhotoImage(file = path "\\BGnew.png")
window.iconphoto(True, ico)
c=Canvas(window,bg="gray16",height=200,width=200)
filename=PhotoImage(file= bg)
background_label=Label(window,image=filename)
background_label.place(x=0,y=0,relwidth=1,relheight=1)
new_workspace = Button(window, text = "New Workspace", font = ("", 13))
new_workspace.pack()
window.mainloop()
發生奇怪錯誤時:
回溯(最近一次呼叫):檔案“c:\Users\Dani\Desktop\Code\Python\CodeHook\main.py”,第 17 行,在 filename=PhotoImage(file= bg) 檔案“C:\Users\Dani \AppData\Local\Programs\Python\Python39\lib\tkinter_ init _.py”,第 4064 行,在init Image 中。初始化(自我, '照片',名稱,CNF,碩士,** KW)檔案“C:\用戶\達尼\應用程式資料\本地\程式\ Python的\ Python39 \ LIB \ tkinter_初始化_.py”,線4009,在init self.tk.call(('image', 'create', imgtype, name,) options) _tkinter.TclError:無法打開“pyimage2”:沒有這樣的檔案或目錄
這是我的檔案夾結構:
Code
.vscode
Android_Studio
C (Nothing To Do With Error)
HTML (Nothing To Do With Error)
Java (Nothing To Do With Error)
JavaScript (Nothing To Do With Error)
JSON (Nothing To Do With Error)
Python
CodeHook
BGnew.png
icon.png
main.py (file in which error occured)
Visual Studio
Python 版本:3.9.7 IDE:Visual Studio 代碼(用戶)
uj5u.com熱心網友回復:
您已經PhotoImage在 bg 變數中有一個物件。所以你可以洗掉行filename=PhotoImage(file= bg)并修改background_label=Label(window,image=filename)為background_label=Label(window,image=bg).
小補充:可以os.getcwd()用來獲取當前目錄。連接路徑和檔案名也是一種不好的做法,您可以使用它os.path.join()來做到這一點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/356591.html
上一篇:幾秒鐘后tkinter關閉
下一篇:檔案加密時Tkinter滯后
