无法使用 wxPython 打开在 folium 中生成的本地 HTML 文件

2024-05-12

我目前正在尝试将 GPS 坐标绘制为地图上的标记,并在 wxPython 中显示结果。

我使用 folium 绘制坐标标记并生成 HTML 文件:

import folium
fmap = folium.Map([-43.5321,172.6362], zoom_start=12)
folium.Marker([-43.5321,172.6362], popup='Marker1').add_to(fmap)
fmap.save('maparea.html')

我可以在 Firefox 中打开这个 HTML 文件,没有任何问题。

我需要在 wxPython 中创建一个程序来显示这个 HTML 文件,我尝试实现以下代码:

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)
        self.browser.LoadURL("maparea.html")
        sizer.Add(self.browser, 1, wx.EXPAND, 10) 

        self.SetSizer(sizer) 
        self.SetSize((1280, 720)) 

if __name__ == '__main__': 
  app = wx.App() 
  dialog = MyBrowser(None) 
  dialog.Show() 
  app.MainLoop() 

然而,我得到的只是一张空白页。如果我将代码中的 URL 更改为网站(例如http://www.google.com http://www.google.com),上面的代码可以正常工作。

为什么我无法在 wxPython 中查看 HTML 文件?在 wxPython 中还有另一种加载和显示 HTML 文件的方法吗?我更喜欢使用 HTML 文件而不是在 wxPython 中显示屏幕截图,因为我想保留平移、缩放和单击地图内标记的功能。

(我在 Ubuntu 18.04 上运行 Python 3.6.8 和 wxPython 4.0.3 gtk3 (phoenix) wxWidgets 3.0.5。)


我相信您需要首先将文件路径转换为 ​​URL(即file://path/to/file.html), 您可以使用wxFileSystem::FileNameToURL()的功能。

See https://docs.wxwidgets.org/3.0/classwx_file_system.html#a616610cafdb14b841940d5e6b08a9615 https://docs.wxwidgets.org/3.0/classwx_file_system.html#a616610cafdb14b841940d5e6b08a9615

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 wxPython 打开在 folium 中生成的本地 HTML 文件 的相关文章

随机推荐