我正在更新一些旧代码,不幸的是,它严重依赖于Q3ListView和Q3ListViewItem,它现在已经过时的小助手类了。
我假设我现在可以在没有项目层的情况下填充QListView,但是在查看文档时,我仍然没有很好的掌握。我找到的一个教程用QStandardItems填充QStandardItemModel,然后将其设置为QListView的模型,但我也遇到了一个看起来很有趣的QAbstractListModel类。有几个问题出现了:
- QListView基本上是通过设置一些“模型”来填充的,它本身是用项填充的吗?
- 在我的旧版本中,Q3ListViewItem是这样的子类:
class OurListItem : public Q3ListViewItem {
public:
OurListItem(Q3ListView* parent) :Q3ListViewItem(parent) {ourData = NULL;}
OurListItem(Q3ListViewItem* parent) :Q3ListViewItem(parent) {ourData = NULL;}
Data* ourData;
};
考虑到现在可用的选项,重新实现这个想法的最佳方法是什么?
答案 0 :(得分:1)
根据您希望转换的清洁程度以及转换的速度,您可能还需要查看QListWidget和QListWidgetItem。它们是Qt4中的近似类似物,我认为转换它们通常是直截了当的。我记得(已经有一段时间了),这些类的Qt3版本也可能有表或树的能力(而不仅仅是一个简单的列表),所以你可能也对QTableWidget和{{3感兴趣(及其相关的项目类)。