본문 바로가기

파이썬 기초17

[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 기초] 파이썬 random 모듈 - choice() , randint() , randrange() , sample() , shuffle() 이전 포스팅에서 random 모듈 내의 메서드를 간략히만 짚고 넘어갔었다. 하지만 choice, randrange, randint, sample, suffle 등 현업에서 많이 쓰이는 메서드를 더 공부하고 넘어가려고 한다. 해당 모듈을 사용하기 위해 import해주는 것은 필수이다. 1 choice() 리스트 형태, 튜플 형태, 딕셔너리 형태의 자료형에서 선언한 데이터 값을 random하게 골라 한개 반환한다. range() 함수와 겹쳐서 사용가능하다. (해당범위 내의 값을 반환) 딕셔너리 형태의 경우 key값이 정수여야하고 0부터 순차적으로 증가해야만 한다. choice([데이터1,데이터2,...]) choice((데이터1,데이터2,...)) choice(range(값)) # 리스트 형태 >>> cho.. 2021. 4. 7.