0

コードスニペットは次のとおりです。

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を使用しています(ユニティではありません)

何が問題なのですか? どうすればこれを解決できますか?

どんな助けもかなりのものであり、

前もって感謝します!

4

1 に答える 1

0

上記と同じ問題がありますが、Ubuntu 11.10 (Gnome3) を使用しています

content editable=true 属性を p タグに追加すると、期待どおりに機能します。

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

contenteditable=true が継承されているため、すべての子が編集可能です。

于 2011-11-01T21:21:17.203 に答える