我使用WxPython在python中创建了一个web浏览器。我能让一切正常运转,前进/后退,重新装载等等。我唯一的问题是我希望能够将程序顶部的标题设置为网页的标题。我知道如何用self.SetTitle(title)
来设置标题,我也知道从我做的一些研究中,你可以使用self.browser.GetCurrentTitle()
来获得页面的平铺。使用它的唯一问题是,当用户单击一个新链接时,它不会刷新自己。我假设在加载一个新页面时,我可以捕捉到一些函数或东西,并告诉python执行以下操作:
def OnLoad(self, event):
self.webtitle = self.browser.GetCurrentTitle()
self.browser.SetTitle(self.webtitle)
或者是一些类似的东西,我只是不确定我可以在哪里或者如何连接或者“捕捉”那个函数。我已经阅读了wx.html2.WebView
的文档,但我不知道如何做到这一点,我也浏览了这个网站以及一些邮件列表,但我似乎找不到任何可以解释如何做到这一点的东西。在
下面是运行我的浏览器的主要代码(显然我缩短了它)。在
^{pr2}$总结一下我要问的是如何设置wx.框架中的网页的当前标题wx.html2.WebView并在每次单击新链接时更改名称?在
我从迈克的话中发现,利用一个事件来捕捉它是可行的。因此,我没有使用
EVT_WEBVIEW_TITLE_CHANGED
,而是使用了EVT_WEBVIEW_LOADED
,而是将事件绑定到我的函数来处理标题的更改。看起来像这样:您需要的webview事件将被列出here
我将捕捉
EVT_WEBVIEW_LOADED
事件并更新事件处理程序中的标题。我相信你可以这样做:更好的方法是捕捉
EVT_WEBVIEW_TITLE_CHANGED
,因为它实际上可以检测到页面标题的变化。在相关问题 更多 >
编程相关推荐