我想将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中实现。
那么,应该做哪些修正呢?提前感谢!
发布于 2015-11-08 02:31:10
您需要安装gtkmm GtkSourceView包装
sudo apt-get install libgtksourceviewmm-3.0-dev然后
#include <gtksourceviewmm.h>https://stackoverflow.com/questions/33574547
复制相似问题