编程语言
首页 > 编程语言> > python-使用GTK3 SourceView突出显示语法

python-使用GTK3 SourceView突出显示语法

作者:互联网

如何使用GTK3在GtkSourceView中启用语法突出显示?我下面的代码无法正常工作.

# 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’ object has no attribute ‘set_language’

解决方法:

似乎sourceview正在使用Gtk.TextBuffer(不知道语法高亮显示)而不是GtkSource.Buffer(确实进行了初始化)进行初始化.通过首先创建缓冲区,并告诉View确切使用该对象,强制其使用您选择的Buffer:

 self.buffer_html = GtkSource.Buffer()
 self.sourceview_html = GtkSource.View.new_with_buffer(self.buffer_html)

标签:gtksourceview,gtk3,python
来源: https://codeday.me/bug/20191201/2078253.html