2012-01-15 208 views
4

我在写我的第一单GTK#应用程序,需要能够支持多种视图列表控件,如列表,详细信息,图标单声道GTK#查看列表(类似于到Windows资源管理器)。多视图(图标,详细,列表等)

基本上,我需要一个小部件,是一个TreeView,图标型控件和NodeView于一身。

最好我也想将节点分组为子节点。

我的应用程序是为电影,在那里我可以有1000部电影元数据采集。我想通过信件将他们分组,所以“A”将是一个树节点,比我会有“世界末日”,“Antz”,“骑士故事”等,我想将这些电影视为图标显示海报和标题)和详细信息(显示标题,星级,文件大小,文件位置等)。

我在原来的WinForms应用程序中使用ObjectListView控件实现了这个功能,但决定这个应用程序更适合Mono/GTK#,因此它可以在多种平台(即Mac和Linux)上运行。

是否有这样的小部件,或者我可以自定义TreeView控件图标型控件或实现我追求的?

TIA

+1

我的第一个猜测是将这三个视图添加到您的应用程序,但隐藏其中两个。您可以看看Nautilus源代码(Gnome的文件管理器),它像大多数文件管理器一样能够在这些视图之间切换。 – ptomato 2012-01-16 10:36:35

回答

1

不幸的是我不能在这个问题上发表评论,所以我只是张贴解答。

在Gtk#中,您可以使用Gtk.TreeView小部件同时实现TreeView和NodeView,但它不像.NET中那么容易。

该IconView将有点难以实施。您将不得不使用很多小部件,例如Gtk.Frame,Gtk.Table,Gtk.HBoxGtk.VBox以实现像样的外观。

在Gtk#不幸的是,没有什么是很容易的。

回答你的问题:是的,有一个Gtk.TreeView小部件和许多其他小组件来构建你的IconView。他们是非常可定制的,但正如我之前所说,这不是一件容易的事。

我希望这会有所帮助。