【发布时间】:2019-04-16 09:35:51
【问题描述】:
我正在使用wx.html2.WebView 在对话框中加载网站,工作正常很好。
问题:如果出于任何原因无法访问网站,输出将为Could not connect: Connection refused。
期望的行为:尝试在每次失败 x 秒后重新加载 URL。
import wx
import wx.html2
import time
URL = "http://mydomain.tld"
class MyBrowser(wx.Frame):
def __init__(self, *args, **kwds):
wx.Frame.__init__(self, *args, **kwds)
self.browser = wx.html2.WebView.New(self)
self.browser.Bind(wx.html2.EVT_WEBVIEW_ERROR, self.on_webview_error)
def on_webview_error(self, evt):
# Printing works
print("Error: can't load page, try again in 3 seconds.")
# Sleeping works
time.sleep(3)
# Reloading doesn't work
self.browser.LoadURL(URL) # OR self.browser.Reload()
# Weird: Error is rendered now
if __name__ == '__main__':
app = wx.App()
dialog = MyBrowser(None, -1)
dialog.browser.LoadURL(URL)
dialog.Show()
app.MainLoop()
问题出现在on_webview_error(self, evt)。我的猜测是我没有正确使用该功能,特别是因为错误消息是在重新加载后呈现的。
有什么想法吗?
提前致谢!
【问题讨论】:
标签: python python-3.x webview event-handling wxpython