안녕하세요! 정말 최근에 블로그를 통해서 한글자동화를 공부하고 있습니다! 너무 좋은 글들 덕분에 공부를 잘하고 있어서 감사합니다.
그런데 혹시나 업무자동화에 있어서 표 내에 테두리를 점선으로 하는 법은 있는지 여쭤보고자 답글 달았습니다! linestyle을 바꾸는 것인지 바꾼다면 어떻게 바꾸는 것인지 구글링을 해봤는데 도저히 안나와서 혹시나 하는 마음에 여쭤봤습니다! 답변
안녕하세요, 조금 이를지도 모르지만 궁금증이 생겨서 질문을 드려 봅니다. 제가 만들려는 프로그램을 말로 풀어서 설명하자면, '현재 활성화되어 있는 프로그램의 종류에 따라 화면 최상단에 여러 버튼을 띄우고, 이를 클릭할 시 미리 지정된 매크로가 실행되게끔 하는 프로그램'입니다. 이번에는 정말정말로 궁금한 걸 먼저 여쭤보겠습니다!
qt로 띄운 창을 항상 비활성화 상태로 유지하는 방법이 무엇인가요?
제가 만들려는 프로그램에서 가장 중요한 부분이 이건데요, 제가 기초문법을 공부할 때부터 구글에 검색해 보곤 했던 거기도 합니다. 근데... 도저히 못 찾겠어서 여쭙습니다. 예를 들어, '안녕하세요'라는 키 입력을 'ㅇ', 'ㅏ', 'ㄴ'....'ㅛ' 순으로 수행하는 버튼 A를 만들었다고 가정했을 때, 일반적인 경우에는 메모장에 커서('|' <- 이 모양)를 띄워놓고 A를 눌러도 아무 반응이 없을 걸 회사원코딩 님도 쉽게 예측하실 수 있을 거라고 생각합니다. A를 클릭하는 순간 포커스가 메모장에서 A가 있는 창으로 옮겨가고 나서 키 입력이 시작되기 때문이죠. 이렇게 포커스가 옮겨가지 않도록 하는 함수나 모듈이 있을까요? 답변
답변이 많이 늦었습니다. 제가 이해한 바가 맞는지는 모르겠지만, 윈도우API에서는 아래와 같은 기능을 제공하며, 수뼈님의 고민에 도움이 될 것 같기도 합니다.
- A라는 버튼을 클릭하면,
- "ㄱㄴㄷㄹ"이라는 문자열로 시작하는 이름의 윈도우의 핸들값을 찾아낸다.
- 핸들값을 이용해 해당 창으로 포커스를 옮기고(활성화하고)
- 그 창 안에 ㄱㄴㄷㄹ이라는 타이핑을 하게 한다.
- 그리고 다시 Qt윈도우로 돌아온다.
이런 흐름을 구현하는 함수를 파이썬으로 짜서 Qt창의 A버튼에 붙이면, 수뼈님이 생각하시는 방법과 비슷한 기능이 될 것 같기도 합니다.
특정 윈도우를 활성화하는 기능은 qt나 python이 아니라 win32 모듈에서 핸들값을 통해 간단히 구현하실 수 있습니다. 구글에서 python, hwnd 등으로 검 색해보시면 관련 예제나 질문이 어마어마하게 많이 나올 것입니다.
창을 찾고 백그라운드로 숨기거나 하는 기능들은 win32gui, win32api, win32con 등을 통해 구현하실 수 있습니다. 특정문자열이나 특수키, 방향키 등을 전송하는 것도, win32gui나 win32api의 SendMessage 메서드를 통해 쉽게 구현하실 수 있고요.
참고로 수뼈님께서 말씀하신 기능들은 윈도우API를 통해서 구현하시는 것이 최고의 선택일 것 같습니다. 그리고 파이썬으로도 분명 개발 가능하겠지만, 파이썬이 최선의 선택은 아닌 것 같습니다. 어쩌면 VB나 델파이, C#, 가능하다면 C++ 등이 훨씬 더 나은 선택일 수도 있습니다.
파이썬으로 win32를 활용하는 대표적인 튜토리얼로는 브라우저나 윈도우메모장에 원격으로 글쓰기가 있습니다.
안녕하세요~ 스팸방지패턴 되어서 문의를 못올리고 있습니다 ㅜㅜ(아마 글에 영어가 들어가면 스팸방지가 되는 것 같습니다... 코드 올렸다가 계속 헤멨어요)
답변
글자/문단모양복사(알트 씨) 기능을 파이썬에서 구현하려고 하는데 잘 안되서 이틀째 끙끙대다가 문의드려봅니다. 항상 내용 감사드립니다.
안녕하세요~ 한글파일로 사진 넣어야하는 일이 많아져서 걱정하고있었는데 잘 정리해 주셔서 블로그 참고해서 코드짜면 될거같네요! ㅎㅎ 감사합니다!
답변
안녕하세요! 정말 최근에 블로그를 통해서 한글자동화를 공부하고 있습니다! 너무 좋은 글들 덕분에 공부를 잘하고 있어서 감사합니다.
그런데 혹시나 업무자동화에 있어서 표 내에 테두리를 점선으로 하는 법은 있는지 여쭤보고자 답글 달았습니다! linestyle을 바꾸는 것인지 바꾼다면 어떻게 바꾸는 것인지 구글링을 해봤는데 도저히 안나와서 혹시나 하는 마음에 여쭤봤습니다!
답변
급하게 포스팅으로 만들어보았습니다.
https://employeecoding.tistory.com/242
참고해 주시기 바라며,
추가질문은 댓글로 남겨주세요^^
행복한 하루, 즐거운 주말 보내세요!
안녕하세요, 조금 이를지도 모르지만 궁금증이 생겨서 질문을 드려 봅니다. 제가 만들려는 프로그램을 말로 풀어서 설명하자면, '현재 활성화되어 있는 프로그램의 종류에 따라 화면 최상단에 여러 버튼을 띄우고, 이를 클릭할 시 미리 지정된 매크로가 실행되게끔 하는 프로그램'입니다. 이번에는 정말정말로 궁금한 걸 먼저 여쭤보겠습니다!
qt로 띄운 창을 항상 비활성화 상태로 유지하는 방법이 무엇인가요?
제가 만들려는 프로그램에서 가장 중요한 부분이 이건데요, 제가 기초문법을 공부할 때부터 구글에 검색해 보곤 했던 거기도 합니다. 근데... 도저히 못 찾겠어서 여쭙습니다. 예를 들어, '안녕하세요'라는 키 입력을 'ㅇ', 'ㅏ', 'ㄴ'....'ㅛ' 순으로 수행하는 버튼 A를 만들었다고 가정했을 때, 일반적인 경우에는 메모장에 커서('|' <- 이 모양)를 띄워놓고 A를 눌러도 아무 반응이 없을 걸 회사원코딩 님도 쉽게 예측하실 수 있을 거라고 생각합니다. A를 클릭하는 순간 포커스가 메모장에서 A가 있는 창으로 옮겨가고 나서 키 입력이 시작되기 때문이죠. 이렇게 포커스가 옮겨가지 않도록 하는 함수나 모듈이 있을까요?
답변
답변이 많이 늦었습니다. 제가 이해한 바가 맞는지는 모르겠지만, 윈도우API에서는 아래와 같은 기능을 제공하며, 수뼈님의 고민에 도움이 될 것 같기도 합니다.
- A라는 버튼을 클릭하면,
- "ㄱㄴㄷㄹ"이라는 문자열로 시작하는 이름의 윈도우의 핸들값을 찾아낸다.
- 핸들값을 이용해 해당 창으로 포커스를 옮기고(활성화하고)
- 그 창 안에 ㄱㄴㄷㄹ이라는 타이핑을 하게 한다.
- 그리고 다시 Qt윈도우로 돌아온다.
이런 흐름을 구현하는 함수를 파이썬으로 짜서 Qt창의 A버튼에 붙이면, 수뼈님이 생각하시는 방법과 비슷한 기능이 될 것 같기도 합니다.
특정 윈도우를 활성화하는 기능은 qt나 python이 아니라 win32 모듈에서 핸들값을 통해 간단히 구현하실 수 있습니다. 구글에서 python, hwnd 등으로 검 색해보시면 관련 예제나 질문이 어마어마하게 많이 나올 것입니다.
창을 찾고 백그라운드로 숨기거나 하는 기능들은 win32gui, win32api, win32con 등을 통해 구현하실 수 있습니다. 특정문자열이나 특수키, 방향키 등을 전송하는 것도, win32gui나 win32api의 SendMessage 메서드를 통해 쉽게 구현하실 수 있고요.
참고로 수뼈님께서 말씀하신 기능들은 윈도우API를 통해서 구현하시는 것이 최고의 선택일 것 같습니다. 그리고 파이썬으로도 분명 개발 가능하겠지만, 파이썬이 최선의 선택은 아닌 것 같습니다. 어쩌면 VB나 델파이, C#, 가능하다면 C++ 등이 훨씬 더 나은 선택일 수도 있습니다.
파이썬으로 win32를 활용하는 대표적인 튜토리얼로는 브라우저나 윈도우메모장에 원격으로 글쓰기가 있습니다.
조대표님의 위키독스 링크를 첨부하오니 참고해주시기 바랍니다.
https://wikidocs.net/79779
방명록 적으려고 티스토리 가입했어요. 공부하고 싶은 마음을 불러 일으키는 좋은 예시들, 감사합니다. 2019년 파이콘이면 자동화 성공 사례가 알려지기 시작하던 시기네요. 그 때 코딩을 마음 먹고 공부를 했어야 하는 건데, 이제야 한발한발 나섭니다. 감사합니다.
답변
리얼토마토님 안녕하세요?
저도 부끄럽지만 온갖 것들을 매일 후회하고 아쉬워합니다. 여기 쏟은 에너지를 AI에 부었더라면, 돈버는 방법에 몰빵했더라면.. 주식 실패하는 사람들하고 생각이 비슷하더라고요.
저도 마음이 약해서 정말 느리게 한 발씩 걷습니다. 공부하시다가 힘드시거나, 나중에 또 생각나면 찾아와서 안부 가끔 남겨주세요ㅎ 저도 마음으로 응원하겠습니다! 행복한 하루 되세요!