如何替换 Q3ListView/Q3ListViewItem 实用程序



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

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

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

相关内容

  • 没有找到相关文章

最新更新