1

我正在更新一些旧代码,不幸的是这些代码严重依赖于 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; 
}; 

考虑到现在可用的选项,重新实现这个想法的最佳方法是什么?

4

1 回答 1

1

根据您希望转换的干净程度以及转换的速度,您可能还需要查看QListWidgetQListWidgetItem。它们是 Qt4 中的近似类似物,我认为转换为它们通常很简单。我记得(已经有一段时间了),这些类的 Qt3 版本可能也有表格或树的能力(而不仅仅是一个简单的列表),所以你可能也对QTableWidgetQTreeWidget(以及它们相关的项目类)感兴趣)。

于 2012-10-02T15:08:08.507 回答