【问题标题】:Syntax highlighting with GTK3 SourceView使用 GTK3 SourceView 突出显示语法
【发布时间】:2012-07-06 09:10:31
【问题描述】:

如何使用 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' 对象没有属性 'set_language'

【问题讨论】:

    标签: python gtk3 gtksourceview


    【解决方案1】:

    似乎源视图正在使用Gtk.TextBuffer(它不知道语法高亮)而不是GtkSource.Buffer(它知道)来初始化自己。强制它使用您选择的缓冲区,首先创建缓冲区,然后告诉View 使用该对象:

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

    【讨论】:

    • 可以监控这个bug的状态here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2012-04-19
    • 2010-12-12
    • 2011-12-28
    • 2013-11-13
    相关资源
    最近更新 更多