[Tkinter]이미지 크기를 재조정(image resize) 화면의 크기에 맞게 이미지의 크기를 변경할 경우가 생긴다 이런 경우에는 다음과 같이 처리한다. from tkinter import * import PIL from PIL import ImageTk, Image root=Tk() image = Image.open("images/2.png") height = 500 width = 500 canvas=Canvas(root, height=500, width=500) image = image.resize((height, width), PIL.Image.ANTIALIAS) #if 0: [python]_tkinter.TclError: invalid boolean operator in tag search expression 화면 GUI를 개발하면서 위와 같은 에러가 나왔다 원인은 canvas.delete(tag 또는 id) 형식을 사용하지 않는 경우에 이런 에러가 나온다 예제를 보면 self.rule_button = ttk.Button(self.Canvas1, compound=tk.CENTER, text="START", style="C.TButton", command= lambda:self.game_screen(), ) self.button1_window = self.Canvas1.create_window(self.screenwidth/2,self.screenheight/6 * 5,\ window=self.rule_button) [tkinter]canvas에서 button이 삭제되지 않음(canvas 상의 위젯, 아이템 삭제) canvas에서 버튼 삭제가 되지않아 4시간 이상을 투자했다 원인은 프로그램 실수..ㅎㅎ self.button1_window = self.Canvas1.create_window(self.screenwidth/5 * 4,self.screenheight/6 * 5,\ window=self.rule_button) self.button1_window의 값을 확인하니 47이 나왔다 버튼을 삭제하기 위해 사용한 문장에서 self.Canvas1.delete(self.button1_window) self.button1_window의 값을 확인하니 237이 나왔다 id 값이 틀리다....이상하다 확인을 해보니 def one_person_break(self, n = 100): self.button1_window = sel.. [tkinter]canvas(캔버스)에서 text(텍스트) 지우기/삭제하기 캔버스위에 문자를 쓴 다음에 해당 글자를 삭제하고 다른 글자를 써야 하는 경우가 있다 이런 경우에는 캔버스의 delete 메쏘드를 사용한다. 방법 1) label_id = self.canvas.create_text(...) ... self.canvas.delete(label_id) 방법 2) self.canvas.create_text(..., tags=('label',)) ... self.canvas.delete('label') 참고) 캔버스위에 있는 모든 item을 삭제한다 self.canvas.delete(ALL) 즐거운 하루 되세요^^ [Tkinter]canvas에서 이미지 변경하기(How to update an image on a Canvas?) 하나의 canvas에 1초마다 이미지를 변경해야하는 일이 생겼다. window = Tk( ) window.update( ) 를 사용해 보았으나 class들을 사용하는 canvas에서는 효과가 없었다 참고: hcr3066.tistory.com/98 canvas에서 이미지를 변경하기 위해서는 self.image_on_canvas = self.Canvas1.create_image(self.screenwidth/2,self.screenheight/2,image= self.photo) 즉, self.Canvas1.create_image( ) 를 사용하여 canvas 위에 이미지를 생성한 후에 self.Canvas1.itemconfig(self.image_on_canvas, image = self.photo) 즉,.. [Tkinter]이미지를 사진뷰어가 아니라 프레임에 출력하는 방법 pillow를 사용하여 image를 open한 후에 canvas에 출력하였다 이 경우에는 Windows의 사진뷰어 창이 열리면서 여기에 출력이 되었다 self.img = Image.open("images/1.png") self.Canvas1 = tk.Canvas(width = self.screenwidth, height = self.screenheight) self.Canvas1.pack() self.Canvas1.create_image(self.screenwidth,self.screenheight,image= self.img.show()) 나는 원한는 것이 프레임위에 출력되는 형태였다 이렇게 하기 위해서는 pillow가 아니라 PhotoImage를 사용하여야 한다. self.img = tk.PhotoI.. 이전 1 2 다음