我如何多次使用 .ui 文件中的视图?
我以这种方式加载它们
var view_orig = builder.get_object("items_view") as Gtk.TreeView;
var store_orig = builder.get_object("items_store") as Gtk.TreeStore;
但我需要创建 10 份副本view_orig
。
我用 Vala 写的。
答案1
通常情况下,您不会将 ui 文件用作模板(就复制而言)。我知道的唯一方法是遍历 Gtk 对象树并复制您遇到的每个对象。根据您的树的复杂程度,您可能只需查看并复制类而无需任何数据即可。
我不知道有什么便捷函数可以帮助您做到这一点。 gnome 开发人员可能会告诉您创建一个工厂类来构建 ui 或多次加载 ui 文件(我相信构建器在每次加载时都会创建一个新树)