如何从Qt中的QListWidget获取所有项目的文本?

时间:2011-06-09 05:45:20

标签: qt

如何将QListWidget中的所有小部件的文本作为QList<QString>获取?

我可以获得这样的小部件项目列表:

QList<QListWidgetItem *> items =
      ui->listWidget->findItems(QString("*"), Qt::MatchWrap | Qt::MatchWildcard);

但这不是我想要的,我想要小部件text()属性的列表。

2 个答案:

答案 0 :(得分:5)

没有内置功能,你需要手动完成。

QList<QString> texts;
foreach(QListWidgetItem *item, items)
  texts.append(item->text());

或类似的东西。

答案 1 :(得分:0)

int c = ui->listWidget->count();
for (int i = 0; i < c ; ++i){

QString s = QString::number(i); 
QModelIndex *model_index = new QModelIndex(ui->listWidget->model()->index(i,0) ); //0th column since we have one cloumn in listwidget
QString q= model_index->data(Qt::DisplayRole).toString();
qDebug()<<q;

}