我试图将一个.c文件加载到GtkSourceView
小部件中。C Gtk + 2 Glade3:我如何将SourceBuffer设置为从glade加载的GtkSourceView?
使用C语言,使用Gtk + 2.22.1和Glade 3.6.7和GtkSourceView 2.10.1。
我注意到在Glade UI中我只能配置一个SourceView
来保存TextBuffer
;我没有找到SourceBuffer
组件。所以,我在Glade中创建了一个SourceView
,没有默认缓冲区。现在我想将SourceBuffer
设置为我的SourceView
组件的缓冲区。
gtk_source_view_new_with_buffer()
是我发现将SourceBuffer
附加到SourceView
的唯一方法。问题是此函数创建SourceView
,我想将SourceBuffer
附加到已创建的使用Glade构建的SourceView
。我怎样才能做到这一点?
我没有粘贴任何代码,因为没有代码显示。我刚创建了一个带有一些UI组件的Glade文件,加上编号为gtk_sourceview
的SourceView-2
组件。
在C文件我取得与
GtkSourceView *sourceview = GTK_WIDGET (gtk_builder_get_object (builder, "gtk_sourceview"));
现在缺少的是如何创建一个SourceBuffer
并将其连接到SourceView
组件SourceView组件。
谢谢!
更新:我尝试使用:
GtkSourceBuffer *sourcebuffer = GTK_SOURCE_BUFFER(gtk_text_view_get_buffer(GTK_TEXT_VIEW(sourceview)));
,但我得到了以下断言错误:
(tour_de_gtk:13884): Gtk-CRITICAL **: IA__gtk_text_view_get_buffer: assertion `GTK_IS_TEXT_VIEW (text_view)' failed
我能做些什么来解决这个问题?
谢谢!
你得到任何编译警告,从我的角度来看,你应该得到至少一个约兼容的指针decalring和设置sorucebuffer – drahnr 2011-03-02 17:21:36