在 QListView 中选择索引

新手上路,请多包涵

这可能是一个愚蠢的问题,但我一生都无法弄清楚如何在 QListView 中选择给定索引的行。

QAbstractItemView ,QListView 的父级有一个 setCurrentIndex(const QModelIndex &index)。问题是,我不能用我想要的行号构造一个 QModelIndex,因为 QModelIndex 的行和列字段没有修改器。

同样继承自QAbstractItemView的QTableView有一个selectRow(int row)函数,为什么七大地狱里的QListView没有这个?

好的 ol’ windows 窗体在其列表视图上具有 SelectedIndex 属性。

原文由 Nailer 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 639
2 个回答

您可以使用您提供给视图的模型的 createIndex(int row, int column) 函数来构造 QModelIndex。 QModelIndexes 只能使用一次,并且必须由模型中的工厂创建。

原文由 Arcane 发布,翻译遵循 CC BY-SA 2.5 许可协议

应该可以帮助您入门

QModelIndex index = model->createIndex( row, column );
if ( index.isValid() )
    model->selectionModel()->select( index, QItemSelectionModel::Select );

原文由 Michael Bishop 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题