为什么脚本不能完全运行(脚本在普通浏览器中可以工作)?将评论标记为“否”。
并且SVG没有显示在页面上。
我需要通过Python来确定svg元素“文本”的大小。
import wx
import wx.html2
html_string = """
<!DOCTYPE htm>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<svg viewBox="0 0 192 192" xmlns="http://www.w3.org/2000/svg" id="svg" height="100%" width="100%">
<rect transform="translate(64,128)" width="27" height="64" stroke-width=".5" fill="#ff0" stroke="#000" id="rect"/>
<text font-family="monospace" font-size="16" transform="translate(64,141)" id="tsvg">Test Text</text>
</svg>
<script type="text/javascript">
var text = document.getElementById('tsvg');
alert(text); // ok
var tw = text.getComputedTextLength();
alert(tw); // no
var box = text.getBBox();
var w = box.width;
var h = box.height;
alert(w+" "+ h); // no
</script>
</body>
</html>
"""
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.SetPage(html_string, '')
dialog.Show()
app.MainLoop()
答案 0 :(得分:0)
解决方案:库“ cefpython3”。 允许您在wxPython中插入浏览器(铬)。