使用Python Webkit库编写一个简单的“Hello World”示例。

14

有人知道如何在Python中使用Webkit库进行简单的“Hello World”示例吗?我有一个GTK窗口,我想在里面放置Webkit。

使用Python/mozembed(Mozilla/Gecko),这很简单:

mozembed = gtkmozembed.MozEmbed()
mozembed.load_url('http://google.com/')

我已经创建了自己的浏览器,如何在WebKit中实现这一点?

2个回答

32

你是否查看了WebKit GTK+端的Python绑定。其中一个目录中有演示如何使用它,包括一个浏览器:python demos/tabbed_browser.py

你也可以查看Alp Toker在FOSDEM上关于WebKit GTK+开发混合Web/GTK+富互联网应用程序的幻灯片(pdf)。

import gtk 
import webkit 

view = webkit.WebView() 

sw = gtk.ScrolledWindow() 
sw.add(view) 

win = gtk.Window(gtk.WINDOW_TOPLEVEL) 
win.add(sw) 
win.show_all() 

view.open("http://w3.org/") 
gtk.main()

那应该给你一个很好的起点提示。


顺便提一下,这个似乎使用的是WebKit1,而WebKit2更为新近,具有显著的渲染和性能改进。我知道这只是一个简单的示例,但你可以尝试使用python-gobject并导入WebKit2,或许会更好些。 - Adam Grant

8

现在支持 WebKitGtk2

import gi
gi.require_version('Gtk', '3.0')
gi.require_version('WebKit2', '4.0')

from gi.repository import Gtk, WebKit2

window = Gtk.Window()
window.set_default_size(800, 600)
window.connect("destroy", Gtk.main_quit)

scrolled_window = Gtk.ScrolledWindow()
webview = WebKit2.WebView()
webview.load_uri("https://google.cl")
scrolled_window.add(webview)

window.add(scrolled_window)
window.show_all()
Gtk.main()

根据WebKit2文档的说明,您不需要单独使用滚动窗口:“请注意,WebKitWebView本身是可滚动的,因此您不需要将其嵌入到GtkScrolledWindow中。” - iinuwa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接