21

選択したアイテム名をQListViewとして取得する必要がありQStringます。グーグルしようとしましたが、何も役に立ちませんでした。

4

2 に答える 2

25

それはselectionModeに依存します。ExtendedSelectionこれは、任意の数のアイテム(0を含む)を選択できることを意味します。

ui->listView->setSelectionMode(QAbstractItemView::ExtendedSelection);

繰り返してui->listView->selectionModel()->selectedIndexes()選択したアイテムのインデックスを見つけてから、メソッドを呼び出しtext()てアイテムのテキストを取得する必要があります。

QStringList list;
foreach(const QModelIndex &index, 
        ui->listView->selectionModel()->selectedIndexes())
    list.append(model->itemFromIndex(index)->text());
qDebug() << list.join(",");
于 2012-06-28T17:12:27.897 に答える
19

が無効になっている場合QAbstractItemView::ExtendedSelection(一度に1つのアイテムしか選択できない)、ループなしでこれを行う方法は次のとおりです。

QModelIndex index = ui->listView->currentIndex();
QString itemText = index.data(Qt::DisplayRole).toString();
于 2016-08-04T16:03:20.850 に答える