본문 바로가기
프로그래밍/Python

[Python] PyWebView 란? 특징 및 사용방법

by 곰 옥수수 2025. 2. 21.
728x90
반응형

PyWebView란?

PyWebViewPython GUI 애플리케이션을 만들기 위해 **웹 기술(HTML, CSS, JavaScript)**을 사용할 수 있도록 도와주는 가벼운 웹 기반 UI 라이브러리입니다.

PyWebView는 내부적으로 **WebView 엔진(Chromium, Edge WebView2, WebKit 등)**을 사용하여 데스크톱 앱에서 웹 페이지를 렌더링할 수 있도록 지원합니다.

 

즉, PyWebView를 사용하면 Python으로 GUI 앱을 만들면서 웹 페이지를 내장 브라우저처럼 실행할 수 있습니다.
(웹 기술을 활용하여 UI를 만들고, Python 백엔드와 통신할 수 있음)

PyWebView 주요 특징

  1. HTML + JavaScript로 GUI 개발 가능
    • Electron과 비슷하지만, 훨씬 가벼운 구조로 동작
  2. 크로스 플랫폼 지원
    • Windows, macOS, Linux에서 실행 가능
  3. 내장된 WebView 엔진 사용
    • Windows → Edge WebView2 (Chromium 기반)
    • macOS → WebKit
    • Linux → GTK WebKit
  4. Python과 JavaScript 간의 통신 가능
    • Python API를 노출하여 웹 페이지에서 직접 Python 함수를 호출 가능 (js_api)
  5. 가벼운 실행 파일 만들기 가능
    • PyInstaller를 사용하여 실행 파일(EXE)로 패키징 가능

 

PyWebView 기본 예제

1. 간단한 웹 페이지 열기

import webview 
webview.create_window('Hello PyWebView', 'https://www.google.com') 
webview.start()

위 코드를 실행하면 Python 앱 내부에서 Google 홈페이지가 열립니다.


PyWebView에서 새로운 창을 생성하고 웹 콘텐츠를 표시하는 기능을 합니다.
이 함수를 사용하면 웹 브라우저 없이 Python GUI 애플리케이션에서 웹 페이지를 직접 실행할 수 있습니다.


2. Python과 JavaScript 연동 (API 연결)

import webview 

class API: 
	def say_hello(self, name): 
    	return f"Hello, {name}!" 
        
api = API() 
webview.create_window('PyWebView with API', 'https://example.com', js_api=api) 
webview.start()

 

create_window 의 js_api 옵션을 이용하여 api 를 등록하면 

JavaScript에서 window.pywebview.api.say_hello("User")를 호출하면, Python에서 실행됨.


3️⃣ HTML을 직접 로드하여 실행

html_code = """
<!DOCTYPE html>
<html>
<head><title>PyWebView Example</title></head>
<body>
    <h1>Hello, PyWebView!</h1>
</body>
</html>
"""

webview.create_window("Local HTML", html=html_code)
webview.start()

이렇게 하면 외부 웹사이트 없이 HTML을 직접 실행할 수도 있음.


PyWebView의 주요 활용 사례

  • Python 기반의 크로스 플랫폼 GUI 애플리케이션 개발
  • 기존 웹 애플리케이션을 Python 기반의 데스크톱 앱으로 변환
  • JavaScript와 Python 간의 데이터 교환 및 UI 제어
  • 로컬 HTML 및 JavaScript를 기반으로 가벼운 데스크톱 애플리케이션 개발

🔹 PyWebView 

사용 언어 Python
엔진 WebView2 (Windows), WebKit (Mac)
성능 가볍고 빠름
실행 파일 크기 수 MB
개발 편의성 Python 코드로 쉽게 구현 가능

 


PyWebView 정리

  • Python GUI 개발을 위한 가벼운 WebView 기반 라이브러리
  • HTML, CSS, JavaScript를 활용하여 크로스 플랫폼 GUI 개발 가능
  • Python과 JavaScript 간의 통신이 쉬움
  • WebView2 (Chromium), WebKit을 사용하여 데스크톱 환경에서 웹을 실행

PyWebView를 활용하면 간단한 Python 웹 기반 GUI 애플리케이션을 쉽게 만들 수 있습니다! 

 

궁금한 점이 있으면 질문해주시면 아는 부분은 답변 드릴게요. 

 

728x90
반응형

'프로그래밍 > Python' 카테고리의 다른 글

[Python] PyWebView 옵션 정리!  (0) 2025.02.22

댓글