为什么当有这样的道具时,vala会抱怨遗失财产

时间:2012-06-09 18:15:33

标签: gtk vala gobject

我正在使用gtk 3和vala开发GUI应用程序。 这是来自MainWindow :: MainWindow()

的源代码
    var menu = new MenuModel();
    var app = this.application;
    app.menubar = menu;

valac给出了这个错误:

ewns_viewer.vala:54.9-54.19: error: The name `menubar' does not exist in the context of `Gtk.Application'
        app.menubar = menu;
        ^^^^^^^^^^^

this,另有说法。 我也试过

var obj_class = (ObjectClass) typeof (Gtk.Application).class_ref ();
var properties = obj_class.list_properties ();
foreach (var prop in properties) 
{
    stdout.printf ("%s\n", prop.name);
}

这给出了这个输出:

application-id
flags
is-registered
is-remote
inactivity-timeout
action-group
register-session
app-menu
menubar

如果我说得对,Gtk.Application具有所有属性,那么为什么valac会给我这个错误?

我使用的是valac 0.14.2.Ubuntu 12.04。

2 个答案:

答案 0 :(得分:2)

Ubuntu上Vala 0.14的/usr/share/vala-0.14/vapi/gtk+-3.0.vapi绑定已过时。如果您安装Vala 0.16,则此绑定将可用。

答案 1 :(得分:0)

该属性已添加到vala 0.15.1中。您正在使用一个为期六个月的vala版本。最新版本是一周前发布的0.17.1。