GTK 和 Vala

关于 Vala

Vala 是一种编程语言,它使用现代高级抽象,无需额外的运行时需求,也无需使用与用 C 编写的应用程序和库不同的 ABI。Vala 使用 GObject 类型系统,并具有额外的代码生成例程,使针对 GNOME 堆栈变得简单。Vala 还有许多其他需要本地二进制文件的地方。

Vala 的 GTK 文档

有一个官方的 GTK API 文档,用于一起使用 GTK 和 Vala,它处理 GLib、GTK、Cairo、GtkSourceView 和其他与 GLib 兼容的库(超过 256 个)的 Vala 绑定。

测试套件中也有越来越多的示例和语言功能测试。

您可以在GNOME WikiGithub 存储库中看到许多基于 Vala 和 GTK 的项目。

教程

Vala 网站列出了各种教程,范围从语言介绍到与 GTK 的使用等等。

Hello World 应用

下面是一个 Hello World 程序,可以用作开始使用 GTK Vala 绑定的示例。

// Save this code as "hello_world.vala"
int main (string[] argv) {
    // Create a new application
    var app = new Gtk.Application ("com.example.GtkApplication",
                                   GLib.ApplicationFlags.DEFAULT_FLAGS);

    app.activate.connect (() => {
        // Create a new window
        var window = new Gtk.ApplicationWindow (app);

        // Create a new button
        var button = new Gtk.Button.with_label ("Hello, World!");

        // When the button is clicked, close the window
        button.clicked.connect (() => {
            window.close ();
        });

        window.set_child (button);
        window.present ();
    });

    return app.run (argv);
}

要编译该程序,请将其复制到您喜欢的文本编辑器中,另存为 hello_world.vala,然后从命令行使用以下命令进行编译

valac --pkg gtk4 hello_world.vala

贡献

如果您有兴趣为 Vala 和 GTK 绑定项目做出贡献,您可以先阅读有关如何开始为 Vala 贡献的说明此处

如果您想了解原始源文件,可以访问 GNOME 上该项目的 git 存储库

查看更多

发现错别字或一些缺失的信息,编辑此页面
阅读 如何为本网站做出贡献