2015-05-20 93 views
0

我很難在使用tkinter的畫布上顯示圖像。我相信問題是由於我不正確地加載圖像而引起的。下面是我正在努力工作的代碼。 「file ='Users/ramos1992/Desktop/test_image.gif'」是我從桌面加載圖像的嘗試。Mac Python 3.4.4,導入文件/圖像,tkinter

from tkinter import * 
tk = Tk() 
canvas = Canvas(tk, width=400, height=400) 
canvas.pack() 
my_image = PhotoImage(file='Users/ramos1992/Desktop/test_image.gif') 
canvas.create_image(0, 0, anchor=NW, image=my_image) 

mainloop() 

什麼是使用Mac加載文件的正確方法,以及如何使代碼工作?

+0

離開'/用戶'只是一個錯字,或者你不明白它們的區別嗎? – abarnert

回答

1

路徑/Users/ramos1992/Desktop/test_image.gif,其中一個斜線,是絕對路徑:它開始於你的硬盤的頂部,獲得命名Users存在的目錄,然後得到一個名爲ramos1992存在的目錄,等等。

路徑Users/ramos1992/Desktop/test_image.gif,沒有前導斜槓,是一個相對路徑:它從當前工作目錄開始。這可能是,比如說/Users/ramos1992/Documents/Python Projects。所以,你最終在尋找/Users/ramos1992/Documents/Python Projects/Users/ramos1992/Desktop/test_image.gif,當然沒有這樣的位置。

有關更多詳細信息,請參見維基百科上的absolute and relative paths


萬一你(或其他人閱讀本)是一款經典的Mac專家早在舊天,是迷茫:絕對和相對路徑幾乎經典的Mac OS風格之間完全相反的語法路徑和現代Mac OS X風格(Unix)路徑。沒有前綴的舊式Drive:Folder:Folder:File/Drive/Folder/Folder/File,而帶前綴的舊式:Folder:File./Folder/File,與Folder/File實際上相同,沒有前綴。