如何在Qt中使用QListView控件獲取多行選中的數(shù)據(jù)
創(chuàng)建Qt Widgets Application工程首先,在Qt Creator中創(chuàng)建一個(gè)名為testListView的Qt Widgets Application工程。在mainwindow.ui
創(chuàng)建Qt Widgets Application工程
首先,在Qt Creator中創(chuàng)建一個(gè)名為testListView的Qt Widgets Application工程。在mainwindow.ui主頁(yè)面中添加一個(gè)QListView和一個(gè)QPushButton控件,其中QListView用于顯示數(shù)據(jù)。
在構(gòu)造函數(shù)中設(shè)置數(shù)據(jù)顯示
在mainwindow.cpp的構(gòu)造函數(shù)中添加以下代碼,主要是為了在QListView中顯示數(shù)據(jù):
```cpp
QStandardItemModel * model new QStandardItemModel(this);
QStandardItem* item1 new QStandardItem("IPhone4");
QStandardItem* item2 new QStandardItem("IPhone4s");
QStandardItem* item3 new QStandardItem("IPhone5");
QStandardItem* item4 new QStandardItem("IPhone6s");
model->appendRow(item1);
model->appendRow(item2);
model->appendRow(item3);
model->appendRow(item4);
ui->listView->setModel(model);
```
運(yùn)行程序查看數(shù)據(jù)
右擊工程名彈出的下拉菜單中,點(diǎn)擊【運(yùn)行】,可以看到QListView中顯示了相應(yīng)的數(shù)據(jù)。
獲取選中數(shù)據(jù)
在mainwindow.cpp中追加如下代碼,點(diǎn)擊主界面上的【獲取選中數(shù)據(jù)】按鈕,即可獲取選擇的值:
```cpp
QStandardItemModel * model qobject_cast
QModelIndexList modelIndexList ui->listView->selectionModel()->selectedIndexes();
foreach (QModelIndex modelIndex, modelIndexList) {
qDebug() << model->data(modelIndex).toString();
}
```
運(yùn)行并獲取選中值
運(yùn)行程序,選擇QListView中的多個(gè)值,然后點(diǎn)擊【獲取選中數(shù)據(jù)】按鈕,即可獲取到所選的數(shù)值。這樣,在Qt中使用QListView控件獲取多行選中的數(shù)據(jù)就實(shí)現(xiàn)了。