Vala 源代码
/* test.vala * Heiher <admin@heiher.info> */ namespace Hev { public class Window : Gtk.Window { } static int main(string[] args) { Gtk.init(ref args); try { var builder = new Gtk.Builder(); builder.add_from_file("test.xml"); builder.connect_signals(null); Gtk.main(); } catch(Error e) { stderr.printf("Erro: %s\r\n", e.message); } return 0; } } |
test.xml
<?xml version="1.0" encoding="UTF-8" ?> <interface> <object class="HevWindow" id="window_test"> <property name="visible">TRUE</property> <property name="title">Test</property> <signal name="delete-event" handler="gtk_main_quit" /> </object> </interface> |
编译&执行
valac --pkg gtk+-2.0 --pkg gmodule-2.0 test.vala # gmodule-2.0 必需 ./test |
Over!
Glade?
不是 glade, 这是 gtk+ 自己的 buildable 接口和 builder 类实现的从xml构建界面。
话说我企图用glade做一个记事本,可是就是搞不清楚在这种情况下textview显示的文本该如何控制
@婉秋 那个是MVC设计,数据是存储在 GtkTextBuffer 对象中的,然后将这个 buffer 嵌入 view 就可以了。具体可以看 gtk-demo 例程。
嗯,我去看看