2013-04-16 96 views
1

我有一個的QList如下內顯示QMAP:QT如何使用QTableView中到的QList

QList< QMap<QString, QString> > x;

例如:

table(1) <name<name(1),ABC> >

table(1) <age<age(1),10> >

我希望將「姓名」和「年齡」作爲列標題,並將值設爲「ABC」和「10」。接下來,當我有:

table(1) <name<name(2),DFG> >

table(1) <age<age(2),20> >

值 「DFG」 和 「20」 談到下一行

所以,我該怎麼做讓這個顯示器嗎?

回答

2

要做到這一點,你必須傳遞你的數據到一個模型,然後你可以使用QTableView來顯示你的數據; 設置爲表模型中使用下面的示例:

// creating a 4*4 table 
QStandardItemModel* table_model = new QStandardItemModel(4, 4); 
for (int row = 0; row < 4; ++row) { 
    for (int column = 0; column < 4; ++column) { 
     QStandardItem *item = new QStandardItem((QString())); // you should set your data here (in this case as a string) 
     table_model.setItem(row, column, item); 
    } 
} 

那麼你應該將模型傳遞到實現代碼如下:

QTableView table; 
table.setModel(table_model); 
table.show(); 
+1

當然,你應該設定自己喜歡的風格你的表...這裏我剛提到一個例子。 –

+1

謝謝,它現在工作,(我也編輯了你的答案,請檢查它) –