目前,我正在将Linux下的ruby / GTK3程序升级到最新的libs / gems。
我从一个不仅从源代码编译而且还使用旧库的人那里接过了这个项目。因此,我很难自己重新安装软件,这是一个很大的风险。
自升级以来,我注意到依赖项的处理方式不同,我真的需要将文件本身包含在使用它的位置,而不是将所有文件都包含在主文件中。
此外,许多GTK语句已弃用,例如GTK :: Dialog :: Flags应替换为GTK :: DialogFlags。
但真正让我感到困惑的是Gtk :: TreeView不再接受ListStore。它告诉我:错误的参数类型GTK :: ListStore(预期哈希)
我使用的代码是:
model = Gtk::ListStore.new(Product, String, String, Integer, String)
modelSort = Gtk::TreeModelSort.new(model)
treeView = Gtk::TreeView.new(modelSort)
...
我检查了API http://ruby-gnome2.osdn.jp/hiki.cgi?Gtk%3A%3ATreeModelSort和http://ruby-gnome2.osdn.jp/hiki.cgi?Gtk%3A%3ATreeModel,但声明它接受了TreeModel,其中Liststore是通用版本。
任何人都知道这里可能出现什么问题?
提前致谢,
马丁