我有一个指向第三方QListView
对象的指针,它只是显示文本行。获取该文本字符串的最佳方法是什么?
问问题
5552 次
2 回答
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() ;
}
您还提到您希望在编写文本时获取更新的字符串 - 您可以通过将模型的dataChanged()
信号连接到提取字符串的函数来做到这一点。见QAbstractItemModel::dataChanged()
。
于 2009-07-28T21:07:08.357 回答
3
您可以向 QListView 对象询问其根 QModelIndex 并使用它来使用兄弟/子方法迭代不同的条目。您可以通过调用索引上的 data 方法来访问与每个索引关联的文本,并将角色指定为 Qt::DisplayRole。
有关更多详细信息,请参阅以下文档:
QAbstractItemView - QListView 的父类
于 2009-07-28T20:02:45.803 回答