我正在使用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。
答案 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。