簡體   English   中英

我該如何解決錯誤_tkinter.TclError: couldn't open "sample.png": no such file or directory

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM