2014-02-08 74 views
1

我执行以下代码如何将图像插入按钮?

import tkinter 
import tkinter.messagebox 
import random 
from PIL import Image 

item = tkinter.Button(root, 
       text=color, 
       width=20, 
       height=10, 
       relief='raised', 
       borderwidth=5, 
       bg=color 
      ) 

original = Image.open('images/img1.gif') 
ph_im = Image.PhotoImage(original) 
item.config(image=ph_im) 
item.pack(side='left') 

我使用枕Python33。我试图将一个图像插入一个按钮,但返回此错误消息:

Traceback (most recent call last): File "C:\Python33\projects\svetofor\index2.py", line 94, in <module> 
    Application(root) File "C:\Python33\projects\svetofor\index2.py", line 20, in __init__ 
    self.make_widgets() File "C:\Python33\projects\svetofor\index2.py", line 50, in make_widgets 
    ph_im = Image.PhotoImage(original) AttributeError: 'module' object has no attribute 'PhotoImage' 

回答

1

PhotoImagePIL.ImageTk模块。

import tkinter 
import tkinter.messagebox 
import random 
from PIL import Image, ImageTk # <--- 

root = tkinter.Tk() 
color = 'white' 

item = tkinter.Button(root, 
       text=color, 
       width=20, 
       height=10, 
       relief='raised', 
       borderwidth=5, 
       bg=color 
      ) 

original = Image.open('images/img1.gif') 
ph_im = ImageTk.PhotoImage(original) # <---------- 
item.config(image=ph_im) 
item.pack(side='left') 
root.mainloop() 

enter image description here