一尘不染

是否可以绘制像GtkIconView一样列出的GtkTreeView?

python

我正在使用Python编写的GTK +应用程序。我显然使用PyGtk。我的应用程序是关于视频集合的。这是F点或Picasa,但用于视频。

正如您在这两个应用程序中看到的那样,您在中心区域可以看到所有带有标签缩略图的照片。

在我的应用程序中,我想实现相同的视图。现在,我仅使用以下代码:

一个gtk.Table包含一个VBox,里面VBox一个Pixbuf(我的视频缩略图)和HBox和内HBox,尽可能多Pixbuf的标签。

它正在工作,但是很丑陋,看来这不是更好的解决方案。

在文档中仔细查看,我发现了两个小部件:IconViewTreeView。但IconView每个“行”只能显示一个pixbuf,而TreeView不能显示为IconView

我的问题:有没有办法像IconView那样显示TreeView(在网格中)?您将如何实现F-spot在下方排列照片和标签的方式?


阅读 179

收藏
2021-01-20

共1个答案

一尘不染

最好的方法是坚持使用表和重新实现选择,或者将IconView的自定义版本与自定义cellrenderer一起使用,可以带gtk.HBox()。

有关自定义cellrenderer的一些准则是:

http://faq.pygtk.org/index.py?req=show&file=faq13.045.htp

http://faq.pygtk.org/index.py?req=show&file=faq13.056.htp

pygtk邮件列表上发生了讨论:

htp://old.nabble.com/Drawing-widgets-in-a-custom-cellrenderer-td14207692.html

WWWalter制作示例代码:http :
//www.translate.org.za/blogs/walter/zh/content/conquering-
cellrendererwidget

根据Ruben
Vermeersch的说法,f-pot使用的是IconView的修改版本。可以在这里找到代码:http : //git.gnome.org/browse/f-spot/?h=icon-view-
cleanup

2021-01-20