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)
我在阅读前两个条目后发布到这个帖子,在我的帖子中我说了类似的话:
这里有一个答案,但它没有回答这个问题.问题是:如何在浏览器窗口中的字符串中显示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))
分享和享受!