I need to get the selected item name in QListView
as a QString
. I have tried to google, but I haven't found anything useful.
How to get QString from QListView selected item in Qt?
It depends on selectionMode lets say you have ExtendedSelection
which means you can select any number of items (including 0).
ui->listView->setSelectionMode(QAbstractItemView::ExtendedSelection);
you should iterate through ui->listView->selectionModel()->selectedIndexes()
to find indexes of selected items, and then call text()
method to get item texts:
QStringList list;
foreach(const QModelIndex &index,
ui->listView->selectionModel()->selectedIndexes())
list.append(model->itemFromIndex(index)->text());
qDebug() << list.join(",");
What is `model' here? –
Dredger
Is there a clean way to use that for QListViews with
QAbstractItemView::ExtendedSelection
disabled? I.e. if only one selection is possible and the loop and list therefore become needless? –
Lipfert In case if QAbstractItemView::ExtendedSelection
is disabled (only possible to select one item at a time), this is how you can do it without any loop:
QModelIndex index = ui->listView->currentIndex();
QString itemText = index.data(Qt::DisplayRole).toString();
© 2022 - 2025 — McMap. All rights reserved.
QListView
documentation (especially its member list ) to see how to get the current index (aQModelIndex
object), and from the index, you'll be able to get its data content (aQVariant
that you can convert to aQString
). – Faircloth