초간단 아날로그 시계 만들기 - GPT를 이용한 코딩 연습 - 3부

2024. 10. 22. 00:51코딩 연습/아날로그 시계 만들기

 

이 오류를 해결하기 위해 아래와 같이 GPT에게 물어본다.

 

그리고 코드는 아래처럼 바꿔줬다.

빨간색은 삭제된 코드, 초록색은 새로운 코드다.

 

그리고 실행해보니 잘 된다!

 

 

 

옵션으로 사진을 바꾸고 프로그램을 끄고 다시 실행해보니 바꾼 사진이 초기값으로 잘 나온다.

 

막상 완성된 프로그램을 보니 아직 부족해 보인다.

  - 시계에 시간 표시 구분이 없어 몇 시 몇 분인지 잘 확인이 안 된다.

  - 시침, 분침, 초침이 배경색에 잘 안 보이는 경우도 있다.

  - 사진 비율이 유지되지 않고 처음 사이즈인 400 * 400 픽셀에 맞게 일그러진다.

  - 창 크기를 조정하면 시계는 비율에 맞게 조정되지만, 사진은 초기 400 * 400 픽셀로 유지된다.

 

반영하기 위해 GPT에게 물어보자.

 

 

 

어떻게 수정됐는지 코드를 살펴본다.

시계의 12시간 구분선은 위와 같은 코드가 추가되어 해결했고,

 

시침, 분침, 초침 색상은 아래 코드처럼 수정됐는데

기존의 색을 좀 달리한 수준으로 바꿨다. 내가 의도한 것은 이게 아니다. 윤곽선을 표시해서 명확히 구분짓도록 다시 요청해야겠다.

 

사진 비율 문제와 창 크기 변경에 따른 사진 크기 조정은 아래의 코드처럼 수정됐는데

 

더이상 초기 창크기인 400, 400 이 아닌 self.canvas.winfo_width() 처럼 크기를 받아오는 식으로 변경되었다.

다만 그 결과가 아래 사진과 같은데

 

사진 비율을 그대로 유지하는 바람에 사진 밖의 부분은 저렇게 회색으로 남아 보기가 안 좋게 되었다.

윈도우의 배경화면을 바꿔본 사람이라면 알 듯, "채우기" 옵션 처럼 비율에 맞지만 화면크기에 맞게 사진을 확대해 남는 부분은 버리는 식으로 바꿔야 겠다.

 

다시 요구사항을 정리하면

  - 시계의 시침, 분침, 초침과 시간 구분선, 시계 테두리는 하얀 윤곽선 처리를 한다.

  - 사진은 비율은 유지하지만, 화면에 가득채울 수 있도록 한다.

 

이렇게 다시 GPT에게 요청했다.

 

 

시간이 늦어 다음 게시물에 이어가겠다.