Ruby/GTK应用笔记(1): Gtk::Toolbar

由于Gtk的Toolbar内部接口发生了一些变化,在使用Gtk::Toolbar#append时可能会发生问题。

当你在一个Gtk::Toolbar里面混合用:
Gtk::Toolbar#append(stock_id)

与:
Gtk::Toolbar#append(widget)

那么就会得到:
引用
Gtk-WARNING **: mixing deprecated and non-deprecated GtkToolbar API is not allowed

这样的警告。这种警告不可忽视,因为以后会由警告变成错误。

这个问题在RubyGnome的网站上并没有提及,而且要注意的是,RubyGnome网站上的API参考中,有不少已经是被废弃了的接口还依然列在那里。google那条警告信息可以看到很多人都碰到过这个问题,包括Gtk的Python binding也同样受到影响。但对于怎么解决这个问题并没有非常清晰的解答。

经过摸索,以及参考Python/GTK的文档,得到正确的做法是:在同一个Gtk::Toolbar里面,只能都用Gtk::Toolbar#append(stock_id),或者都用Gtk::Toolbar#append(widget),碰到需要混用的场合,例如需要加入Gtk::ToggleToolButton,那么就应该统一用Gtk::Toolbar#insert,这样就可以解决警告信息的问题。

你可能感兴趣的:(python,Google,Ruby)