用 Glade + Gtkmm 写的 hello world
没啥技术含量,纯属更新一下博客 + 测试一下 Dropbox ……
(我真是什么都搞一点点。。。晕)
Glade部分:
1. 打开 glade,在 TopLevels 选择第一个,创建一个 window
2. 设置 window 的一些属性,记住那个“Name”,后面 C++ 代码会用到。
3. 加入一个 label,并设置要显示的内容
4. 保存成 hello.glade 退出
代码部分:
直接贴了,不做任何异常处理 – -!
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <gtkmm.h> int main(int argc, char *argv[]) { Gtk::Main kit(argc, argv); Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create(); builder->add_from_file("hello.xml"); Gtk::Window *window = 0; builder->get_widget("window1", window); kit.run(*window); delete window; // window can't be manag()ed return 0; } |
编译之前:
可以看到代码里面我用了 hello.xml ,哪里来滴?
Gtk加入了Builder之后,不用以前的 libglade 的方式读取 glade 文件了。而是另一种类似格式的xml文件。
要先把 glade转换一下。
运行: gtk-builder-convert hello.glade hello.xml
就会创建好 hello.xml。
其实就是把一些标签改了一下名字 。。。
最后编译:
g++ main.cpp -o hello `pkg-config gtkmm-2.4 –cflags –libs`
Gtk::Builder 的更多用法……
http://library.gnome.org/devel/gtkmm-tutorial/unstable/chapter-builder.html.en
(貌似也没说多少。。。)




