我有一个指针指向一个第三方QListView对象,它被简单地显示文本的行。什么是获取文本的该字符串的保持的最佳方式?

有帮助吗?

解决方案

该模型,通过 QListView::model() 时,保持该项目访问。你可以做这样的事情:

QListView* view ; // The view of interest

QAbstractItemModel* model = view->model() ;
QStringList strings ;
for ( int i = 0 ; i < model->rowCount() ; ++i )
{
  // Get item at row i, col 0.
  strings << model->index( i, 0 ).data( Qt::DisplayRole ).toString() ;
}

您还别说你想编写文字时获得更新的琴弦 - 您可以通过模型的dataChanged()信号连接到你的函数提取字符串做到这一点。请参阅 QAbstractItemModel::dataChanged()

其他提示

可以询问而QListView对象其根QModelIndex并用它来遍历使用兄弟/孩子方法不同的条目。可以通过调用与指定为Qt的:: DisplayRole作用的索引数据的方法访问与每个索引相关联的文本。

有关更多细节参见下列文件:

QAbstractItemView中 - 父类而QListView

QModelIndex

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top