wxPython WebView示例

Hom*_*lli 15 python wxpython webview

我正在使用wxPython(wxAUI)编写一个小型报告应用程序.我想将我的数据呈现为HTML,以便在WebView'小部件'中显示.我正在寻找一个样本'hello world'代码片段,它将展示如何在WebView小部件中显示/呈现HTML字符串 - 但是无法找到一个示例 - 并且WebView小部件似乎没有很好地记录.

有人可以提供这样一个例子的链接或(更好的是),在这里发布一个简短的片段,显示如何使用WebView小部件呈现HTML字符串?

# 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>
"""
Run Code Online (Sandbox Code Playgroud)

pat*_*hie 22

这是一个适合我的简单示例.

确保您运行的是最新版本的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() 
Run Code Online (Sandbox Code Playgroud)

  • 你需要最新版本的wxPython.您正在使用"稳定"版本,但此功能非常新,您需要"开发版本".您可以在"开发版"下找到它:http://www.wxpython.org/download.php (3认同)

Ruf*_*sVS 7

我在阅读前两个条目后发布到这个帖子,在我的帖子中我说了类似的话:

这里有一个答案,但它没有回答这个问题.问题是:如何在浏览器窗口中的字符串中显示HTML文件?唯一的答案是打开浏览器窗口,但是从URL获取数据并且不使用字符串内容.

但后来我进一步研究了答案,我在这里发布了帖子并提出了原始问题的实际答案,即:如何从字符串中显示?:

如果将html字符串赋值复制到代码示例中,但替换该行:

  dialog.browser.LoadURL("http://www.google.com") 
Run Code Online (Sandbox Code Playgroud)

有:

  dialog.browser.SetPage(html_string,"")
Run Code Online (Sandbox Code Playgroud)

一切都应该按照需要工作(从字符串显示html页面(而不是url))

分享和享受!