使用Python 3.3.1中的类插入图像

时间:2013-09-13 11:37:41

标签: image class canvas python-3.x grid

我正在尝试在GIU中插入图像(徽标),以使用网格在左上角显示它,并且最好在帧中显示。 当我在没有演示器的情况下执行此代码时,它可以完美地工作,但是一旦我将它放入Demonstrator中,图像就会消失。有什么建议吗?

class TaskGUI():
    def __init__(self,master):
        header    = Frame(master, )
        header.grid(row=2,column=1,sticky=W)
        canvas= Canvas(header, bg= 'pink')
        Label(header, bg= 'blue' ).grid(row=1)
        canvas.grid(row=1,column=1)
        imgLogo = PhotoImage(file = 'logo.gif' )
        canvas.create_image(10,10, image= imgLogo, ancho= NW)


if __name__ == "__main__":
    top =Tk()
    top.geometry('10920x1080')
    top.title("Stel")
    top.grid()

    app = TaskGUI(top)

    top.mainloop()

我尝试使用PIL库但无法在此找到任何解决方案,我收到此错误:

    from PIL import  Image,ImageTk
File "C:\Program Files\Python\PIL\Image.py", line 57
    except ImportError, v:
                      ^
SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:1)

您正在尝试使用Python 3运行代码,但PIL仅与Python 2兼容。

在Python 3中,捕获异常的语法是except ImportError as v,而它曾经是Python 2中的except ImportError, v。请注意,更改这种情况最有可能无济于事,因为会有许多其他不兼容的东西在PIL内。

但是,Pillow是PIL的兼容分支,与Python 3兼容。