728x90
pywebview를 실행하면 main thread 내에서 다른 코드 수행이 불가능하다.
이에 별도의 process로 분리하여 pywebview를 수행시키면 별도의 코드를 수행할 수 있다.
pywebview using subprocess · TechNoteGit/pywebview_example@540c4c9 (github.com)
import webview
from multiprocessing import Process, Pipe
def webview_subprocess(child_pipe):
window = webview.create_window('TechNote', 'https://technote.kr')
webview.start(cmd_recv, [window, child_pipe], gui='cef', debug=True)
def cmd_recv(window, child_pipe):
while True:
cmd = child_pipe.recv()
# To Do - cmd handler
if __name__ == '__main__':
parent_pipe, child_pipe = Pipe()
subprocess_handler = Process(target=webview_subprocess, args=(child_pipe,))
subprocess_handler.start()
subprocess_handler.join()
기본 process 와 pywebview를 실행하는 subprocess는 pipe를 통해 통신한다.
728x90
'Language > Python' 카테고리의 다른 글
[pywebview] "X" 버튼 (close) 누르면 webview hide 하도록 구현 (0) | 2021.09.12 |
---|---|
[pywebview] pystray를 이용한 hide/show 제어 (0) | 2021.09.12 |
[python] global - 전역 변수의 사용 (0) | 2021.09.12 |
[pyinstaller] TypeError: an integer is required (got type bytes) (0) | 2021.09.11 |
[pywebview] python 을 이용한 webview (0) | 2021.09.11 |
Python - pipenv 설정 및 사용 (0) | 2021.06.27 |
Python - pywinauto, Microsoft Windows GUI 제어 자동화 (0) | 2020.02.29 |
Python - PyInspect 설치 및 실행 (0) | 2020.02.28 |