2013-07-16 206 views
2

我很困惑,爲什麼我得到這個錯誤,我查看了錯誤中指定的文件以及對PIL和實際錯誤進行了一些研究,任何幫助將不勝感激。此代碼是一個示例代碼,它不屬於我,我下面的教程,我努力學習Python的一個新的GUI模塊Tkinter Python圖片錯誤

代碼:。

from PIL import Image, ImageTk 
from Tkinter import Tk, Label, BOTH 
from ttk import Frame, Style 

class Example(Frame): 

    def __init__(self, parent): 
      Frame.__init__(self, parent) 

      self.parent = parent 

      self.initUI() 

    def initUI(self): 

      self.parent.title("Picture") 
      self.pack(fill=BOTH, expand=1) 

      Style().configure("TFrame", background="#333") 

      bard = Image.open("test.jpg") 
      bardejov = ImageTk.PhotoImage(bard) 
      label1 = Label(self, image=bardejov) 
      label1.image = bardejov 
      label1.place(x=20, y=20) 

def main(): 
    root = Tk() 
    root.geometry("300x280+300+300") 
    app = Example(root) 
    root.mainloop() 


if __name__ == '__main__': 
    enter code heremain() 

錯誤:

Traceback (most recent call last): 
    File "C:/Python27/pics.py", line 36, in <module> 
    main() 
    File "C:/Python27/pics.py", line 31, in main 
    app = Example(root) 
    File "C:/Python27/pics.py", line 12, in __init__ 
    self.initUI() 
    File "C:/Python27/pics.py", line 22, in initUI 
    bardejov = ImageTk.PhotoImage(bard) 
    File "C:\Python27\lib\site-packages\PIL\ImageTk.py", line 116, in __init__ 
    self.paste(image) 
    File "C:\Python27\lib\site-packages\PIL\ImageTk.py", line 181, in paste 
    import _imagingtk 
    ImportError: DLL load failed: %1 is not a valid Win32 application. 
+0

在'main()'中縮進縮進。 –

+0

這是什麼意思 –

+0

我的意思是重新格式化你的粘貼代碼。對於問題 - 檢查Tkinter版本。 –

回答

1

"ImportError: DLL load failed: %1 is not a valid Win32 application."來自Windows本身,並且意味着您的PIL或Tkinter安裝在您的Windows版本上不起作用。

一個潛在的原因是您正在使用Windows XP上使用VS 2012構建的版本;參見:

http://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx

+0

我重新安裝了tkinter模塊和python,並且似乎可以修復它 –