2013-09-29 70 views
0

我的行有5列,我需要來自最後一列的數據。我寫了下面的函數。該函數應該從選定行的最後一列返回元素,但不幸的是,在調試後,我發現我的函數只讀取了第一列。任何人都可以幫我解決這個問題嗎?Qt C++來自選定行的數據

QString MainWindow::getIDNumberFromSelectedRow(const QModelIndexList indexes) 
{ 
    QStringList selected_text; 
    foreach(QModelIndex current,indexes) 
    { 
     QVariant data = model->data(current); 
     QString text = data.toString(); 
     selected_text.append(text); 
     qDebug() << text; 
    } 

    QString idNumber = selected_text.last(); 
    return idNumber; 
} 
+0

你試過調試驗證什麼呢'indexes'包含? – BartoszKP

+0

作爲單個選項,「索引」包含一個項目。 – laura

+0

恐怕我不明白。如果'索引'只包含一個項目,那麼你爲什麼期望你的'foreach'循環運行多次?它總是隻迭代一次,'selected_text'將總是隻包含一個項目。 – BartoszKP

回答

2

可能的是,索引,因此,當前(s)指的是模型的第一列。 如果你直接引用的特定項目,如:

model->data(model->index(current.row(), 4)) 

我不知道這工作,無論如何,我希望這會幫助