728x90
pystray 로 Windows tray 를 이용하여 program을 제어할 수 있다.
(pytray 아니고 pystray)
[pystray 를 이용해 tray에서 Hide, Show, Quit 기능 추가]
import pystray
from pystray import MenuItem
from pystray import Menu
...
image_path = Image.open(base_path + '/res/tray_icon.png')
menu = Menu(MenuItem('Hide', lambda: send_cmd_to_window(parent_pipe, 'hide')),
MenuItem('Show', lambda: send_cmd_to_window(parent_pipe, 'show')),
MenuItem('Quit', lambda: quit_window(subprocess_handler)))
icon = pystray.Icon('pyWebView_Sample', image_path, 'pyWebView', menu)
icon.run()
[pywebview] subprocess 를 이용한 pywebview 분리 실행 (technote.kr)
별도의 process 로 pywebview 를 실행시 분리한 상황이라 pipe 를 통해 cmd를 전달한다.
def send_cmd_to_window(parent_pipe, cmd):
parent_pipe.send(cmd)
def cmd_recv(child_pipe):
while True:
cmd = child_pipe.recv()
if cmd == 'show':
webview.windows[0].show()
elif cmd == 'hide':
webview.windows[0].hide()
pywebview 가 실행 중인 process에서는 pipe를 통해 cmd가 전달되면 해당 cmd에 맞게 기능을 수행한다.
webview.windows[0] 을 통해 pywebview의 window handler를 hide 하거나 show 한다.
(Hide / show window | pywebview (flowrl.com))
[실제 구현 코드]
Control pywebview show/hide via pystray · TechNoteGit/pywebview_example@3a35562 (github.com)
728x90
'Language > Python' 카테고리의 다른 글
[pywebview] "X" 버튼 (close) 누르면 webview hide 하도록 구현 (0) | 2021.09.12 |
---|---|
[python] global - 전역 변수의 사용 (0) | 2021.09.12 |
[pywebview] subprocess 를 이용한 pywebview 분리 실행 (0) | 2021.09.11 |
[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 |