GTK 和 Vala
关于 Vala
Vala 是一种编程语言,它使用现代高级抽象,无需额外的运行时需求,也无需使用与用 C 编写的应用程序和库不同的 ABI。Vala 使用 GObject 类型系统,并具有额外的代码生成例程,使针对 GNOME 堆栈变得简单。Vala 还有许多其他需要本地二进制文件的地方。
Vala 的 GTK 文档
有一个官方的 GTK API 文档,用于一起使用 GTK 和 Vala,它处理 GLib、GTK、Cairo、GtkSourceView 和其他与 GLib 兼容的库(超过 256 个)的 Vala 绑定。
测试套件中也有越来越多的示例和语言功能测试。
您可以在GNOME Wiki 和 Github 存储库中看到许多基于 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 存储库。