题
我有一个指针指向一个第三方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
不隶属于 StackOverflow