QTreeView或QTreeWidget

时间:2015-01-08 04:13:24

标签: qt design-patterns treeview qtreewidget model-view

我想在我的程序中实现一个具有嵌套子级别的树,我正在寻找这两种类型中的哪一种(View / Widget)最适合我的目标。

我有一个完成/错过/失败任务的日期列表,每个任务都计算完成/错过/失败的次数,最后是当天的得分。

我想像这样显示它们:

tree display

我在QtCreator中使用QTreeWidget制作了这个示例,但我担心修改元素很难,因为它们存储在其他地方。

我的担忧是否合理,我应该转到模型/视图结构,还是可以轻松使用QTreeWidget?树将记录任务,因此将不断变化。元素只会添加到它,而不是删除。日期将从最高 - 最低(第2天是第1天,然后是第1天)排序

1 个答案:

答案 0 :(得分:5)

如果您的数据存储在数据库模型中,或者您希望拥有单一数据模型并以不同方式在某些视图中显示,那么最好选择QTreeView

QTreeWidget以某种方式拥有它的内部模型以及在索引上下文中处理模型的方法。通常,如果您只是想要一些简单易用的东西,您可以使用小部件方式。

但是模型/视图方法是更通用和灵活的IMO。您可以创建自己的模型和视图子类,使您可以执行任何操作。