0

我想将 Glade 文件加载到简单的 Gtkmm 应用程序中。这是我的代码:

#include <gtkmm.h>

int main(int argc, char* argv[])
{
try {
    Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "org.helen.ide");
    Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("temp.glade");
    Gtk::Window* w;
    builder->get_widget("applicationwindow_ide", w);

    return app->run(*w);
}
catch(Glib::Error e) {
    printf("Error : %s\n", e.what().c_str());
    return 1;
}
}

但它不起作用(它捕获了错误,表示 GtkSourceView 对于 Gtk::Builder 是未知的)。然而,在 Glade 中,文件可以在没有错误的情况下打开并编辑,显示“正常”GtkSourceView。

经过一段时间的谷歌搜索,我发现 SourceView 的类型必须“在 glib 的类型系统中注册”,但在 C++ 中没有办法做到这一点,只有在 Python 中。

那么,应该如何修正呢?提前致谢!

4

1 回答 1

1

你需要安装 gtkmm GtkSourceView 包装

sudo apt-get install libgtksourceviewmm-3.0-dev

然后

#include <gtksourceviewmm.h>
于 2015-11-07T18:31:10.017 回答