이 글은 MiniMacro 시리즈의 4번째 기록입니다. (총 5개)

오늘 한 일

  • 어제 만든 새 화면을 실기로 써 보고 나온 지적 네 가지를 반영
    • 재생 중에 창을 다시 내리게 되돌림 — 창이 클릭할 자리를 가리면 그 창을 눌러 버려서. 진행 상황은 미니 막대가 대신 보여줌
    • 재생 시작점의 의미를 고침 — 4번에서 시작해도 첫 회차만 4~끝이고, 둘째 회차부터는 켜진 단계 전체를 처음부터 돎. 전에는 고른 구간만 계속 반복했음
    • 폰트를 샵·블로그와 같은 것으로 맞춤
    • 다이얼로그 버튼을 확인 왼쪽·취소 오른쪽으로 (윈도우 관례)
  • 한국어 / 영어 전환을 붙임
    • 이유: 영문 폰트를 제대로 쓰려면 화면이 통째로 영문이어야 하고, 나중에 남에게 줄 때도 필요해서
    • 화면 문구 116개를 한 표에 두 벌로 모으고, 오른쪽 패널 아래에서 고르게 함. 고른 언어는 다음에 열 때도 유지됨
    • 버튼·라벨뿐 아니라 단계 목록의 동작 이름과 내용, 상태 메시지, 다이얼로그, 오류 문구까지 함께 바뀜
    • 폰트도 언어를 따라감 — 한국어와 영어에 각각 다른 것을 씀
  • 영어에서 글자 아랫부분이 잘리던 것을 고침

막힌 부분

  • 영어 라벨이 길어 “Position”이 “Positio”로 잘렸다
    • 원인: 라벨 칸을 글자 수로 잡아 뒀는데 한글 기준이라 영문에 모자랐다
    • 해결: 영문 기준으로 칸을 넓혔다. 같은 이유로 오른쪽 패널의 단위와 편집 줄의 선택 표시도 잘려서 함께 고쳤다
  • 조합키만으로 된 단축키가 「키 누르기」로 안 잡히는 걸 확인했다
    • 해결: 캡처가 조합키 아닌 키를 눌러야 끝나는 구조라 고칠 수 없다. 한계로 남기고 직접 적게 뒀다

영어로 바꾸면 글자가 반쯤 잘렸다

영문 폰트를 설치하고 나니 영어 화면에서 글자 아래가 잘렸다. 두 폰트의 줄 높이를 재 보니 영문 쪽이 줄 높이 1px, 글자가 아래로 내려가는 깊이가 2px 더 컸다. 미니 막대의 세로 크기를 픽셀로 박아둔 게 딱 그만큼 모자랐던 것이다.

재 보니 녹화 막대는 한국어에서도 이미 잘리고 있었다 — 19px 칸에 26px짜리 글자를 넣고 있었다. 영문에서 더 도드라져 눈에 띈 것뿐이었다.

text_col.update_idletasks()
text_col.configure(height=text_col.winfo_reqheight())
text_col.pack_propagate(False)
  • 해결: 세로 크기를 숫자로 박지 않고 실제 필요한 높이를 재서 넣게 했다. 가로만 고정하면 숫자가 바뀌어도 막대가 들썩이지 않는다

오른쪽 패널의 한 줄이 통째로 사라져 있었다

같은 화면에서 “언어” 구역 이름이 아예 안 보이고 그 아래 선택 줄도 눌려 있었다. 재 보니 패널에 담을 내용이 자리보다 컸다 — 한국어에서 31px, 영어에서 37px 초과. 공간이 모자라면 나중에 넣은 것부터 조용히 안 그려진다. 오류도 경고도 없다.

  • 해결: 구역 이름을 빼고(선택지가 「한국어 / English」 둘뿐이라 자명하다) 세로 여백을 조금씩 줄여 여유를 만들었다. 창을 줄여도 다시 눌리지 않게 최소 높이도 올렸다
  • 남은 한계: 영어 기준 여유가 10px 남짓이라 여기에 줄을 더 넣으려면 창 높이부터 키워야 한다

다음에 할 일

  • exe로 묶어 배포 — 받는 사람이 파이썬 없이 쓰게. 내려받기 주소를 붙이고, 백신·스마트스크린 경고 안내도 함께 (보류 중)
  • 편집 줄을 아이콘 버튼으로 (지금은 짧은 글자)
  • 실제 반복 작업에 써 보고 부족한 점 확인

Series: MiniMacro


Suggested Posts