2016-09-11 12 views
0

이미지를 처리 ​​할 수있는 GUI를 만들려고하므로 기본 이미지를 찾아보기 버튼으로 선택한 이미지로 변경해야합니다. 기본 이미지가 사라지지만 새 이미지가 나타나지 않습니다. 도와주세요!label.configure를 사용하여 이미지를 변경할 수 없습니다.

from Tkinter import * 
from tkFileDialog import askopenfilename 
import cv2 

class Browse_image : 
    def __init__ (self,master) : 

     frame = Frame(master) 
     frame.grid(sticky=W+E+N+S) 
     self.browse = Button(frame, text="Browse", command = lambda: self.browseim()) 
     self.browse.grid(row=13, columnspan=2) 
     self.check = Checkbutton(frame, text="On/Off") 
     self.check.grid(row=0) 
     self.maxval = Scale(frame, from_=0, to=100, orient=HORIZONTAL) 
     self.maxval.grid(row=1,columnspan=2) 
     self.minval = Scale(frame, from_=0, to=100, orient=HORIZONTAL) 
     self.minval.grid(row=2,columnspan=2) 
     self.photo = PhotoImage(file="browse.png") 
     self.label = Label(frame, image=self.photo) 
     self.label.grid(row=3,rowspan=10) 

    def browseim(self): 
     path = askopenfilename(filetypes=(("png files","*.png"),("jpeg files","*.jpeg"))) 
     if path: 
      self.photo = PhotoImage(path)       
      self.label.configure(image = self.photo) 
      #self.label.image = self.photo 
      #self.label.grid(row=3,rowspan=10) 


root= Tk() 
b= Browse_image(root) 
root.mainloop() 

답변

0

변경 self.photo = PhotoImage(file=path)-self.photo = PhotoImage(path) : 다음은 내 코드입니다. PhotoImage class에 이미지 경로를 정의하려면 file 매개 변수가 필요합니다.

+0

감사합니다. 하지만 이제는 다른 오류가 나타납니다 : "TclError : 이미지 파일의 데이터를 인식 할 수 없습니다" –

+0

이 오류 메시지는 일반적으로 지원되지 않는 이미지 유형을 사용할 때 발생합니다. 올바른 PNG 파일을 사용하고 있습니까? 'PhotoImage'는 일부 이미지 파일 유형을 지원하지 않기 때문에. JPG, ICO. 그러나 PNG를 지원합니다. –

+0

고마워요! 맞습니다 : PNG 파일 만 지원합니다. –