来自Vala代码的Gtk Hello World in Genie

时间:2015-10-02 08:53:25

标签: gtk vala genie

我想用Genie语言重现一个小型Hello World Gtk程序,基于以下Vala代码:

using Gtk;

int main(string[] args){
Gtk.init (ref args);
Gtk.Window window = new Gtk.Window (Gtk.WindowType.TOPLEVEL);
Gtk.Label label = new Gtk.Label("Hello world!");
window.add(label);
    window.set_default_size (300, 200);
    window.show_all ();
Gtk.main ();
return 0;
}

Genie中的代码如何显示?

1 个答案:

答案 0 :(得分:2)

看起来像这样:

[indent=4]
uses Gtk

init
    Gtk.init (ref args)
    var window = new Window (WindowType.TOPLEVEL)
    var label = new Label("Hello world!")
    window.add(label)
    window.set_default_size (300, 200)
    window.show_all ()
    Gtk.main ()

请注意,args是隐式可用的。

我在分配windowlabel标识符时使用了类型推断。这是因为右侧的类型清晰。

您可以通过在标识符后面说明类型来明确说明类型。标识符和类型用冒号分隔:

    window:Window = new Window (WindowType.TOPLEVEL)
    label:Label = new Label ("Hello world!")

选项卡是Genie中缩进的默认选项,但Stack Overflow坚持四个且只有四个空格的倍数。如果您希望将TAB用于Genie代码的HTML示例,那么HTML TAB实体	效果很好。即使在Stack Overflow的预览中也是如此。但是,在这个例子中,必须在开头使用[indent = 4]。