Glade 和 C++ 中的 GtkSourceView

Glade 和 C++ 中的 GtkSourceView

我尝试使用 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

它应该可以工作。

相关内容