![](/img/trans.png)
[英]How to fix “_tkinter.TclError: couldn't open ”Island1.png“: no such file or directory” error?
[英]How should I solve the error _tkinter.TclError: couldn't open "sample.png": no such file or directory
我的代碼與圖像位於同一文件夾中。 並得到error _tkinter.TclError: couldn't open "sample.png": no such file or directory
(I use visual studio code IDE)
我嘗試使用 PLE,但沒有用。
import tkinter as tk
HEIGHT = 700
Width = 800
root = tk.Tk()
canvas = tk.Canvas(root, height = HEIGHT , width = Width)
canvas.pack()
background_image = tk.PhotoImage(file = "sample.png")
back_label = tk.Label(root,Image = background_image)
back_label.place(relwidth = 1 ,relheight = 1)
root.mainloop()
無法打開“sample.png”:沒有這樣的文件或目錄意味着您的文件不在正確的位置,您有 2 個選擇,要么將其移動到啟動它的位置,要么使用絕對路徑
首先,我認為您應該使用整個圖像路徑(我不確定,但我使用的是 ubuntu,我應該使用完整路徑)。 然后我稍微改變一下代碼,這對我有用
import tkinter as tk
HEIGHT = 700
Width = 800
root = tk.Tk()
canvas = tk.Canvas(root, height = HEIGHT , width = Width)
canvas.pack()
background_image=tk.PhotoImage(file = "sample.png")
background_label = tk.Label(root, image=background_image)
background_label.place(x=0, y=0, relwidth=1, relheight=1)
root.mainloop()
如果您通過終端執行 python 腳本,也可能會有所不同。 例如,如果您從 /home/usrname 運行腳本並執行類似 >>./downloads/src/run.py 的內容,那么您的相對路徑將是 /home/usrname/,而不是 /home/usrname/downloads/src/ . 如果您導航到該文件夾並嘗試運行 python 腳本,它可能會突然找到該圖像。
所以解決方案是為圖像使用完全限定的路徑,或者可能有更好的方法來設置相對路徑。 身份證
我在我的 ubuntu 上構建一個 tkinter 應用程序時遇到了同樣的問題。我的問題只是文件名錯誤。
請確保您的文件名和文件路徑正確,您應該對 go 很好。
import tkinter as tk
from PIL import Image, ImageTk
img = tk.PhotoImage(file="assets/logo.png")
logo_widget = tk.Label(frame1, image=img, bg=bg_color)
logo_widget.pack()
要么
img = ImageTk.PhotoImage(file="assets/logo.png")
logo_widget = tk.Label(frame1, image=img, bg=bg_color)
logo_widget.pack()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.