我尝试使用 Glade 在 C++ 和 Gtkmm 中开发一个文本编辑器,但遇到了问题。当我尝试运行该程序时,出现以下消息:“BuilderError:无效的对象类型‘GtkSourceView’”。我猜想这个错误来自 glade 文件,但我不确定!这是 Glade 文件的一部分:
<object class="GtkSourceView" id="text">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="left_margin">2</property>
<property name="right_margin">2</property>
<property name="show_line_numbers">True</property>
<property name="show_line_marks">True</property>
<property name="tab_width">4</property>
<property name="auto_indent">True</property>
</object>
下面是我声明源缓冲区和源视图的方式:
Glib::RefPtr<Gsv::Buffer> textbuffer;
Gsv::View *textview;
另外,我必须说我使用 gtkmm 3.0、gtksourceview3.0 和 glade3.8.0
答案1
您必须安装libgtksourceviewmm-3.0-dev
才能在 gtkmm 中使用 GtkSourceView (Gtk::SourceView)。要获取 glade 中的 GtkSourceView 小部件,您必须安装libgtksourceview-3.0-dev
,但它位于 mm 包的依赖项中,因此只需执行
sudo apt-get install libgtksourceviewmm-3.0-dev
它应该可以工作。