2017-08-30 84 views
1

我正在开发一些基于Gtk的应用程序使用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}"; 
} 

回答

4

您可以使用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}"; 
} 

参考: