web-dev-qa-db-ja.com

gtkツリービューの複製

.uiファイルのビューを何度も使用するにはどうすればよいですか?

私はそれらをこのようにロードします

var view_orig = builder.get_object("items_view") as Gtk.TreeView;
var store_orig = builder.get_object("items_store") as Gtk.TreeStore;

しかし、view_origのコピーを10個作成する必要があります。

ヴァラで書いています。

1
user6320

通常、UIファイルをテンプレートとして使用することはありません(複製の意味で)。私が知っている唯一の方法は、Gtkオブジェクトツリーをトラバースして、遭遇した各オブジェクトを複製することです。ツリーの複雑さによっては、データなしでクラスを調べて複製するだけで解決できる場合があります。

私はあなたがこれをするのを助けるための便利な機能を知りません。そして、gnome開発者はおそらく、UIをビルドするためのファクトリクラスを作成するか、UIファイルを複数回ロードするように指示します(ビルダーはロードごとに新しいツリーを作成すると思います)