QListView
で選択したアイテム名をQString
として取得する必要があります。グーグルしようとしましたが、何も役に立ちませんでした。
これは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(",");
_
QAbstractItemView::ExtendedSelection
が無効になっている場合(一度に1つのアイテムしか選択できない)、ループなしでこれを行う方法は次のとおりです。
QModelIndex index = ui->listView->currentIndex();
QString itemText = index.data(Qt::DisplayRole).toString();