[Python]'StartPage' object has no attribute 'scr_test' 알고나면 아무것도 아닌 것을 가지고 스트레스를 받았다 Python에서 들여쓰기를 잘못해 놓고...왜 이러지 하면서 고민을 2시간이나 하였다 나를 괴롭힌 것은 위의 제목이다 class StartPage(tk.Frame): def __init__(self, master): tk.Frame.__init__(self, master) .... self.after(1000, self.scr_test)
[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..
썸네일 [Tkinter]Pillow 이미지위에 텍스트 쓰기 아래와 같이 프로그램을 하면 이미지위에 텍스트가 출력된다 from PIL import Image, ImageDraw, ImageFont # get an image base = Image.open("C:\\Users\\zzang\\Downloads\\touch_gui\\realGUI\\images\\1.png").convert("RGBA") # make a blank image for the text, initialized to transparent text color txt = Image.new("RGBA", base.size, (255,255,255,0))
[python](unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape python 프로그램을 하던 중에 제목과 같은 에러가 발생하였다 내가 사용한 문장은 아래와 같다 WAIT_PATH = "C:\Users\zzang\Downloads\touch_gui\realGUI\images" 이것을 해결하는 방법은 \ 대신 / 를 사용하거나 WAIT_PATH = "C:\Users\zzang\Downloads\touch_gui\realGUI\images" 또는 \ 대신 \\를 사용하면 된다 WAIT_PATH = "C:\Users\zzang\Downloads\touch_gui\realGUI\images" 를 사용하면 된다 나는 \\를 사용했다
[Python] 형(type) 변경 다른 언어에서 처럼 변수의 형(type)을 변경할 일이 자주 발생한다. 변수의 타입을 확인하고 싶은 경우 type() 함수를 사용한다. 형식: type(a) 변수의 타입을 변경하는 경우는 변수 앞에 해당하는 형 변환자를 사용한다. ex1) a= 101.02 인 경우 int(a) => float(101.02) 를 int( 101 ) 로 변환 ex2) input() 함수로 입력을 받는 경우 이 경우에 주의할 것은 입력이 정수이면 int, 실수이면 float로 str에서 숫자로 변환 후에 숫자글 사이에 형 변환 수행 > number = input( ) > print number '101.02' > float(number) 101.02 숫자를 문자열로 변환하는 경우 str( )를 사용한다. age = 17 pr..
[Tkinter] command에서 lambda 사용 버튼이 눌렸을 경우 지정된 함수를 수행하는 경우에 많이 사용된다. 물론 'command' parameter가 있는 곳에는 모두 사용할 수 있다 예) def show_frame(self, Canvas, page_name): ....... 인 경우에 command=lambda:controller.show_frame(self.Canvas1, "PageOne") - controller class에 선언된 show_frame( )을 호출한다. - self.Canvas1, "PageOne" 는 show_frame( )에 전달되는값이다. 참고) lambda를 사용하여 N개의 명령을 수행할 수 있다 아래의 경우는 command=lambda: (print("aaa"), controller.show_frame(self.C..