Tkinter Python Image错误

时间:2013-07-16 20:10:56

标签: python tkinter tk

我很困惑为什么我得到这个错误。我已经查看了错误中指定的文件,并对PIL和实际错误做了一些研究。任何帮助都将不胜感激。这段代码是一个示例代码,它不属于我。我正在学习一个教程,我正在尝试为python学习一个新的gui模块。

代码:

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.

1 个答案:

答案 0 :(得分: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