4

如何在GtkSourceView使用 GTK3 时启用语法高亮?我下面的代码不起作用。

# 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

似乎源视图正在用 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 回答