在动态列表/网格中构建复杂的布局

时间:2013-05-15 04:15:44

标签: python gtk gtk3

我正在使用python3和GTK3.0构建一个简单的应用程序,寻找正确的元素来显示如下图所示的布局

enter image description here

我需要显示N项,这些项目是从数据库加载的(可以是1000+)并且可以更改(插入,删除,更新等),每个项目内部都有复杂的布局(标签,按钮等)

如何使用动态更改的列表/网格构建布局。

我读过关于GtkTreeView和GtkCellRenderer但我不知道如何和其他人推荐使用GtkBox但是如何动态处理模型并像Android中的ListView / CursorAdapter或C#/ WPF中的ListView / Bindings一样动态更新。

documentation of GTK 3.0非常糟糕,并没有解释如何扩展小部件。另一点,文档没有解释或至少我没有看到如何重用相同的元素,如何在处理大量元素时充分利用资源(内存),例如我创建了一系列的小部件林间空地,我不能使用N次。也无法创建非窗口的项目。一切都应该在一个窗口内。因为我可以创建一个可以重复使用的窗口的不同任意元素。

当你指出上述任何一点时,请注意这个代码可以是C#,Python或C ++,但是有一个例子很重要

1 个答案:

答案 0 :(得分:1)

我刚刚使用python3和gtk创建了一个名为'sqlite-browser'的项目。在数据库中显示大量记录时,可以使用treeview,并添加寻呼机(每页限制100/200记录)。也许这个项目可以帮到你。这是:https://github.com/LiuLang/sqlite-browser

这是屏幕截图:enter image description here