我使用 WebKitGTK 的 Python 绑定创建了一个或多或少简单的浏览器,我的代码如下所示:
import gi
gi.require_version("Gtk","3.0")
gi.require_version("WebKit2","4.0")
from gi.repository import Gtk, WebKit2
webv=WebKit2.WebView()
window=Gtk.Window()
window.add(webv)
window.show_all()
Gtk.main()
虽然比较复杂,但是没关系。我的问题是:如何a)在悬停时在栏中显示目标URL,b)如果a)不可能,获取链接的鼠标悬停事件?
我浏览了文档,内容很丰富,但只为C编写,即使在那里,我也没有找到任何东西。
我找到了解决方案:
import gi
gi.require_version("Gtk","3.0")
gi.require_version("WebKit2","4.0")
from gi.repository import Gtk, WebKit2
webv=WebKit2.WebView()
def displayuri(donotnhittestresult,eedthis):
if (hittestresult.context_is_link()==True):
# do something with hittestresult.get_link_uri()
webv.connect("mouse-target-changed",displayuri)
window=Gtk.Window()
window.add(webv)
window.show_all()
Gtk.main()