2013-08-13 4 views
0

У меня есть QTableView с флажками был создан:QT QTableView получить проверенные элементы

QStandardItem* checkBox = new QStandardItem(true); 
checkBox->setCheckable(true); 
checkBox->setCheckState(Qt::Unchecked); 
model->setItem(row, 0, checkBox); 
ui->tableView->setModel(model); 

Теперь я хочу, чтобы все chceked строки. Как я нашел во многих образцах кода, я должен написать что-то вроде этого:

QItemSelectionModel *select = ui->tableView->selectionModel(); 
QModelIndexList selectedSensosrs = select->selectedRows(); 
for(int i = 0; i < selectedSensosrs.count(); i++) 
{ 
      //do something 
    } 

Но этот код не работает, то значение счетчика равно нулю, даже я проверил несколько пунктов !! Я смотрел много для лучшего способа dothat, но не нашел ... :(

Может кто-нибудь, пожалуйста, помогите мне?

ответ

2

Незначительное неправильное представление на вашей стороне. Выбранные строки не строка, которая содержит выбранный флажок, но строка, которая подсвечена. Я боюсь, что вы должны перебирать все свои ячейки и запрашивать QCheckState.