복붙노트

[PYTHON] wxPython WebView 예제

PYTHON

wxPython WebView 예제

wxPython (wxAUI)을 사용하여 작은보고 응용 프로그램을 작성 중입니다. 내 데이터를 HTML로 렌더링하여 WebView '위젯'에 표시하려고합니다. WebView 위젯에서 HTML 문자열을 표시 / 렌더링하는 방법을 보여줄 샘플 '안녕하세요 세계'스 니펫을 찾고 있는데, 단일 예제를 찾을 수 없었습니다. WebView 위젯에 대해서는 잘 설명되어 있지 않은 것 같습니다.

누군가가 HTML 예제를 렌더링하기 위해 WebView 위젯을 사용하는 방법을 보여주는 짧은 스 니펫을 여기에 게시하거나 그러한 예에 대한 링크를 제공해 주시겠습니까?

# sample html string to display in WebView widget
html_string = """
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
       <title>Hello World!</title>
       <script type="text/javascript" src="jquery.js"></script>
       <style type="text/css" src="main.css"></style>
    </head>
    <body>
        <span id="foo">The quick brown fox jumped over the lazy dog</span>
        <script type="text/javascript">
        $(document.ready(function(){
           $("span#foo").click(function(){ alert('I was clicked!'); });
         });
        </script>
    </body>
</html>
"""

해결법

  1. ==============================

    1.이것은 나를 위해 일하는 간단한 예입니다.

    이것은 나를 위해 일하는 간단한 예입니다.

    wxpython의 최신 버전을 실행하고 있는지 확인하십시오. (wxpython 2.9)

    import wx 
    import wx.html2 
    
    class MyBrowser(wx.Dialog): 
      def __init__(self, *args, **kwds): 
        wx.Dialog.__init__(self, *args, **kwds) 
        sizer = wx.BoxSizer(wx.VERTICAL) 
        self.browser = wx.html2.WebView.New(self) 
        sizer.Add(self.browser, 1, wx.EXPAND, 10) 
        self.SetSizer(sizer) 
        self.SetSize((700, 700)) 
    
    if __name__ == '__main__': 
      app = wx.App() 
      dialog = MyBrowser(None, -1) 
      dialog.browser.LoadURL("http://www.google.com") 
      dialog.Show() 
      app.MainLoop() 
    
  2. ==============================

    2.처음 두 항목을 읽은 후에이 스레드에 게시하고 내 게시물에서 다음과 같은 내용을 말했습니다.

    처음 두 항목을 읽은 후에이 스레드에 게시하고 내 게시물에서 다음과 같은 내용을 말했습니다.

    그러나 나는 그 해답을 더 연구했고, 여기에 글을 올리고 원래 질문에 대한 실제 답변을 생각해 냈습니다. 문자열에서 어떻게 표시합니까?

    html 문자열 할당을 코드 샘플에 복사하지만 행을 바꾼다면 :

      dialog.browser.LoadURL("http://www.google.com") 
    

    와:

      dialog.browser.SetPage(html_string,"")
    

    모든 것이 원하는대로 작동합니다 (URL 대신 html 페이지를 문자열로 표시).

    공유하고 즐기십시오!

  3. from https://stackoverflow.com/questions/10358998/wxpython-webview-example by cc-by-sa and MIT license