如何在 Vala 中查看 gtk 版本?

How to check gtk version in Vala?

我正在使用 Vala 开发一些基于 Gtk 的应用程序。在我的应用程序中,我想添加一些自定义样式。

我想为 Gtk 3.20- 和 Gtk 3.20+ 版本保留我的样式。正如我们所知,Gtk3 从 Gtk 3.20 开始更改了小部件 类。

那么,如何检查 gtk 版本并相应地应用自定义样式?我知道,我可以同时应用这两种风格。但是不想用不必要的样式使应用程序过载。

我正在寻找这样的东西

string style = null;
If (GTK_VERSION >= 3.20) {
    style = "window {border : none}";
} else {
    style = "GtkWindow {border : none}";
}

您可以使用 Gtk.get_major_versoin()Gtk.get_minor_version() 分别获取主要版本和次要版本。

string style = null;
if (((Gtk.get_major_version() * 100) + (Gtk.get_minor_version())) >= 320)
  style = "window {border : none}";
} else {
  style = "GtkWindow {border : none}";
}

参考: