从QListView获取文本

Dav*_*ard 5 string qt text qlistview

我有一个指向第三方QListView对象的指针,它只是显示文本行.获取该文本字符串的最佳方法是什么?

swo*_*ngu 4

该模型可通过 访问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() ;
}
Run Code Online (Sandbox Code Playgroud)

您还提到您希望在写入文本时获取更新的字符串 - 您可以通过将模型的dataChanged()信号连接到提取字符串的函数来实现此目的。看QAbstractItemModel::dataChanged()