2011-09-27 110 views
0

在这里工作是代码片段:的PyGTK - webkit.WebView不与Ubuntu 11.04

import gtk, webkit, os 

w = gtk.Window() 
w.set_title("Example Editor") 
w.connect("destroy", gtk.main_quit) 
w.resize(500, 500) 

editor = webkit.WebView() 
editor.load_html_string("<p>This is a <b>test</b>", "file:///") 
editor.set_editable(True) 

def on_action(action): 
    editor.execute_script(
    "document.execCommand('%s', false, false);" % action.get_name()) 

actions = gtk.ActionGroup("Actions") 
actions.add_actions([ 
    ("bold", gtk.STOCK_BOLD, "_Bold", "<ctrl>B", None, on_action), 
    ("italic", gtk.STOCK_ITALIC, "_Italic", "<ctrl>I", None, on_action), 
    ("underline", gtk.STOCK_UNDERLINE, "_Underline", "<ctrl>U", None, on_action), 
]) 

ui_def = """ 
<toolbar name="toolbar_format"> 
    <toolitem action="bold" /> 
    <toolitem action="italic" /> 
    <toolitem action="underline" /> 
</toolbar> 
""" 

ui = gtk.UIManager() 
ui.insert_action_group(actions) 
ui.add_ui_from_string(ui_def) 

vb = gtk.VBox() 
vb.pack_start(ui.get_widget("/toolbar_format"), False) 
vb.pack_start(editor, True) 

w.add(vb) 
w.show_all() 

gtk.main() 

上面的例子是简单的测试编辑器,通过GTK webkit的视图设计。

在Ubuntu 10.04中,编辑器是可编辑的,游标在webkitview上可见,但在切换到Ubuntu 11.04之后,编辑器不可编辑且游标不可见。

注:我使用Ubuntu 11.04(不统一)的经典GNOME

可能是什么问题呢?我怎么能解决这个问题?

任何帮助将是明显的,

在此先感谢!

回答

0

我有同样的问题,如上所述,但是我在使用Ubuntu 11.10(GNOME3)

如果我加入到p标签内容编辑= true属性,它按预期工作。

self.editor.load_html_string("<p contenteditable=\"true\">This is a test", "file:///") 

contenteditable = true被继承,所以所有的孩子都是可编辑的。