지난 포스팅에서..
한글 메시지박스 기능을 활용하면
준수한 (그리고 어색하지 않은) GUI를 구현해주었습니다.
tkinter나 PySide 같은 모듈을 사용하지 않고도요.
2022.04.09 - [업무자동화/파이썬-아래아한글 자동화 기초] - hwp파일 열 때 한/글 자체 다이얼로그를 이용하면 qt도 tkinter도 필요없다!?
hwp파일 열 때 한/글 자체 다이얼로그를 이용하면 qt도 tkinter도 필요없다!?
안녕하세요? 한/글에서 제공하는 API 중에는 대화상자를 열어주거나, 파일을 열거나, 대화상자를 띄워주는 메서드가 있습니다. 어쩔 수 없이 PyQt나 tkinter 등을 사용해야 하는 경우도 있지만 (여러
martinii.fun
아래의 예제는
한/글 자체 다이얼로그를 적극적으로 활용한 프로그램입니다.
한/글 파일 안에 있는 이미지를 추출해주는 파이썬 프로그램입니다.


간편한 다이얼로그창을 구현하고 싶을 때는
이처럼 한/글 자체 메시지박스 기능만 활용해도 충분한 것 같습니다.
특히 선택한 메뉴에 따라 Result가 리턴하는 값이 바뀌고,
그에 따라 파이썬에서 로직을 짤 수 있다는 점도 참 좋습니다.
컴파일된 프로그램과 소스코드는 여기서 다운받으실 수 있습니다.
※ 추출한 이미지들은 하위폴더(파일명과 동일) 생성 후 그 안에 저장됩니다.
소스코드 전체 공개
메시지박스를 정의한 함수는 26행의 "한글_팝업" 함수입니다.
맥락만 읽어보셔도 이해하시는 데 충분할 것 같습니다.
메시지박스 부분 코드만 간단히 부연설명드리면,
메시지박스.string은 메시지박스 문자열,
메시지박스.Result는 버튼을 통해 리턴받은 값입니다.
메시지박스.Flag은 메시지박스의 유형입니다.
한/글에서 제공하는 Flag 유형은 아래와 같이 총 7가지입니다.







그리고,
누르는 버튼에 따라 메시지박스.Result 값이 달라집니다.
대표적으로 1번플래그(확인/취소)의 경우에는
확인버튼을 누른 후에 Result 값은 1, 취소버튼을 눌렀을 경우는 2입니다.
이를 통해 버튼을 통한 분기로직을 짤 수도 있죠.
제 소스코드에서는 13행의 if문에서 Result값을 활용했습니다.
혹시 소스코드 중 궁금한 부분이 있으면 댓글로 질문 남겨주시기 바랍니다.
그럼, 이번 포스팅은 여기서 마칩니다.
감사합니다.
행복한 하루 되세요!
이 이미지 추출 프로그램은
메시지박스 예제로만 활용되기에는 아까울 정도로 제법 괜찮은 프로그램입니다.
본문이나 표 안에 있는 모든 이미지를 품질손실이나 용량뻥튀기 없이 잘 추출해주거든요.
물론 삽입당시의 파일명을 복원해주지는 못하는 등 아쉬운 부분이 있기는 하고요.
hwpx포맷의 등장 덕분에 이미지 추출이 엄청나게 간편한 작업이 되어버려서
이렇게 포스팅 예제로만 쓰이는 게 아쉬운 마음에 사족을 달아보았습니다..ㅜ
'아래아한글 자동화 > python+hwp 중급' 카테고리의 다른 글
한글 불러올 때 CLSIDToClassMap 오류 해결하는 가장 간단한 방법 (1) | 2022.04.18 |
---|---|
hwp파일 열 때 한/글 자체 다이얼로그를 이용하면 qt도 tkinter도 필요없다!? (0) | 2022.04.09 |
한/글 문서에 포함된 그림들 화질저하 없이 이미지파일로 저장하는 프로그램 만들어보기 (0) | 2022.03.31 |
댓글