我想将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中,文件可以打开结束编辑而没有错误,显示“nornal”GtkSourceView。
经过一段时间的谷歌搜索,我发现SourceView的类型必须“在glib的类型系统中注册”,但是没有办法在C ++中完成它,只在Python中完成。
那么,更正应该是什么?提前谢谢!
答案 0 :(得分:1)
你需要安装gtkmm GtkSourceView包装
sudo apt-get install libgtksourceviewmm-3.0-dev
然后
#include <gtksourceviewmm.h>