2013-09-13 13 views
0

Я пытаюсь вставить изображение (логотип) в GIU, чтобы отобразить его в верхнем левом углу с использованием сетки и предпочтительнее в кадре. Когда я делаю этот код без демонстратора, он работает отлично, но как только я положил его в демонстратор, изображение исчезнет. Любое предложение?Вставка изображения с использованием класса в Python 3.3.1

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 libary, но не смог найти какое-либо решение по этому вопросу на любой, я получаю эту ошибку:

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

ответ

1

Вы пытаетесь запустить код, используя Python 3, но PIL только совместим с Python 2.

в Python 3, синтаксис, чтобы поймать исключение является except ImportError as v в то время как он будет использоваться except ImportError, v в Python 2. Обратите внимание, что изменение этого, скорее всего, не поможет, так как там будет много других несовместимых вещей в пределах PIL ,

Однако Pillow является совместимой вилкой PIL, который совместим с Python 3.

+0

Благодаря теперь моя подушка работает. Я также узнаю, почему он не отображает изображение, когда я использую класс. Моя коррекция заключалась в том, чтобы поместить << self.imgLogo >> Затем он работает. –

Смежные вопросы