4

GtkSourceViewGTK3を使用する際に構文の強調表示を有効にするにはどうすればよいですか? 以下のコードが機能しません。

# HTML view
self.scrolledwindow_html = builder.get_object('scrolledwindow_html')
self.sourceview_html = GtkSource.View()
self.buffer_html = self.sourceview_html.get_buffer()

lang_manager = GtkSource.LanguageManager()
self.buffer_html.set_language(lang_manager.get_language('html'))
self.scrolledwindow_html.add(self.sourceview_html)

エラーを与える:

AttributeError: 'TextBuffer' オブジェクトに属性 'set_language' がありません

4

1 に答える 1

4

sourceview が a Gtk.TextBuffer(構文の強調表示を認識していない) ではなく、 a GtkSource.Buffer(構文の強調表示を認識していない) で初期化されているようです。最初にバッファーを作成し、Viewそのオブジェクトを正確に使用するように指示することにより、選択したバッファーを使用するように強制します。

 self.buffer_html = GtkSource.Buffer()
 self.sourceview_html = GtkSource.View.new_with_buffer(self.buffer_html)
于 2012-07-06T09:22:57.317 に答える