Seçilen öğe adını QListView ürününde QString olarak almam gerekiyor. Google'ı denedim, ancak yararlı bir şey bulamadım.QString QtistView QtistView öğesinden nasıl seçilir?
cevap
Seçime bağlıMod, ExtendedSelection
olduğunu söyler, bu da herhangi bir sayıda öğeyi (0 dahil) seçebileceğiniz anlamına gelir. QAbstractItemView::ExtendedSelection
az bir öğe seçmek için mümkün olan tek (devre dışıysa durumda
QStringList list;
foreach(const QModelIndex &index,
ui->listView->selectionModel()->selectedIndexes())
list.append(model->itemFromIndex(index)->text());
qDebug() << list.join(",");
Burada 'model' nedir? –
QListViews için '' 'QAbstractItemView :: ExtendedSelection''' devre dışıyken kullanmak için temiz bir yol var mı? Yani sadece bir seçim mümkün ise ve döngü ve liste bu yüzden gereksiz hale mi geliyor? – Paddre
:
ui->listView->setSelectionMode(QAbstractItemView::ExtendedSelection);
seçilen öğelerin endeksleri bulmak için ui->listView->selectionModel()->selectedIndexes()
yinelemenize ve ardından madde metinleri almak için text()
yöntemini çağırmalıdır `QListView` belgelerinde (özellikle [üye listesi] (http
QModelIndex index = ui->listView->currentIndex();
QString itemText = index.data(Qt::DisplayRole).toString();
Bak: bir zaman) Bu da herhangi bir döngü olmadan bunu nasıl olduğunu // qt-proje ct.org/doc/qt-4.8/qlistview-members.html)) geçerli dizinin (bir "QModelIndex" nesnesinin) nasıl alınacağını görmek için ve indeksten veri içeriğini alabileceksiniz. "QVariant", bir "QString" e dönüştürebilirsiniz. – alexisdm