본문 바로가기

분류 전체보기129

[Python tkinter] tkinter 모듈을 이용한 GUI - 사진 삽입 PhotoImage 1 절대경로와 상대경로 이미지를 불러와서 버튼과 라벨에 이미지를 올릴 수 있다. 이미지를 불러올 때는 경로가 중요한데 같은 디렉터리 내에 위치할 경우 경로를 따로 지정해줄 필요 없이 "파일명.확장자" 로 사용하면되고 다른 경로에 있을 경우 절대경로와 상대경로로 경로를 지정해줄 수 있다. 절대경로 "C:\\pjs\\python\\파일명.확장자" 파일이 위치한 주소를 말한다. 상대경로 "..\\파일명.확장자" - 현재파일이 위치한 폴더 이전으로 돌아간다. "폴더\\파일명.확장자" - 현재 위치한 폴더의 폴더로 들어간다. ex) 현재 BBB폴더에 위치한 경우 2 PhotoImage PhotoImage 클래스를 이용해 라벨이나 버튼등의 위젯에 이미지를 추가할 수 있다. PhotoImage(file="파일경로").. 2021. 4. 8.
[Python tkinter] tkinter 모듈을 이용한 GUI - 애니메이션 move() , after() , sleep() , update() tkinter 모듈을 사용하여 애니메이션 효과를 줄 수 있다. 다각형의 객체를 생성하고 move()를 통해 조금씩 이동시키는 방식으로 애니메이션 효과를 줄 수 있다. 이때 시간지연 메서드가 필요한데 Canvas 내에 있는 메서드 after() 와 time모듈 내의 메서드 sleep() 이 있다. 1 move() move(객체,x,y) : 객체를 가로 x 만큼, 세로 y 만큼 이동하는 메서드이다. 2 시간 지연 메서드 ( after() , sleep() ) after() 와 sleep() 둘다 일정시간 동안 프로그램을 지연시키는 메서드이다. 둘의 차이점은 다른 모듈에 위치해 있다는 점과 설정값의 시간이 다르다는 것이다. sleep() time모듈 내의 함수이다 s 단위로 설정한다. (1초면 1로 작성) 따.. 2021. 4. 8.
[Python tkinter] tkinter 모듈을 이용한 GUI - 이벤트 (bind) 바인딩하기 <Key> 와 <Button>, <Motion> 이벤트(bind) 는 tkinter 모듈에서 버튼을 누르거나 키를 누르거나 마우스를 눌렀을 때 실행 된다. 이러한 효과를 나타내도록 정의해 놓은 함수를 핸들러라고 한다. 저번 포스팅에서는 핸들링을 위해 command 를 사용했었다. 오늘은 저번에 사용했던 command 보다 더 다양한 처리를 할 수 있는 bind() 에 대해 알아보자. 1 bind() 바인드 함수는 보다 다양한 처리를 하기 위해 이벤트와 핸들러를 연결하는 기능을 한다. 위젯.bind(event,handler) event 발생시 Event Object 가 생성된다. 그리고 그 클래스 안에는 정보들을 가지고 있어야 하며 "event" 매개변수가 꼭 작성되어야 한다. event 매개변수에 작성될 수 있는 이벤트명은 아래 나열한 것들이 자주 사.. 2021. 4. 7.
[Python tkinter] tkinter 모듈을 이용한 GUI - Canvas 위젯, create_rectangle 로 랜덤한 사각형 만들기 지난 포스팅에서 Canvas 위젯을 생성하고 create_rectangle 메서드로 사각형을 만들어 보았다. 오늘은 이 사각형의 좌표값을 랜덤하게 주어 여러가지 크기의 사각형을 만들어 볼 것이다. 일단 다음과 같이 캔버스를 만들고 안에 사각형을 만든다. 사각형의 색상을 random 모듈의 choice() 함수를 이용해 임의의 색상을 하나 뽑아 설정해준다. 그리고 크기도 randint() 와 randrange() 를 사용하여 랜덤하게 설정해준다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 from tkinter import * from random import * win = Tk() # 윈도우창 생성 win.title("Can.. 2021. 4. 7.