QT如何使用QTableView在QList中显示QMap

时间:2013-04-16 16:06:02

标签: c++ qt-creator qtableview qlist

我有一个QList如下:

QList< QMap<QString, QString> > x;

例如:

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

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

我希望将“name”和“age”作为列标题,并将值“ABC”和“10”放在其中。接下来我有:

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

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

值“DFG”和“20”出现在下一行

那么,我该如何进行此显示呢?

1 个答案:

答案 0 :(得分: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);
    }
}

然后你应该将模型传递给tableview:

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