Skip to main content
 首页 » 编程设计

python之Tkinter Python 图像错误

2025年05月04日9del

我对为什么会收到此错误感到困惑。我查看了错误中指定的文件,并对 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. 

请您参考如下方法:

“ImportError:DLL 加载失败:%1 不是有效的 Win32 应用程序。” 来自 Windows 本身,意味着您的 PIL 或 Tkinter 安装在您的 Windows 版本上不起作用。

一个潜在的原因是您在 Windows XP 上使用的是使用 VS 2012 构建的版本;见:

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