Qt tablewidget添加行指针?

问题描述:

我有一个约12个tablewidgets的程序,我如何设置一个函数在一个函数中为所有12个表添加行?Qt tablewidget添加行指针?

main{ 

    addRow(tablewidget1); 
    addRow(tablewidget2); 
    // etc 
} 

addRow(*tablewidget){ 

    int row = tablewidget->rowCount(); 

    tablewidget->insertRow(row); 

    QTableWidgetItem *item0 = new QTableWidgetItem; 
    item0->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); 
    tablewidget->setItem(row, 0, item0); 

    QTableWidgetItem *item1 = new QTableWidgetItem; 
    item0->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); 
    tablewidget->setItem(row, 1, item1); 
} 
+0

如果在同一数据添加到了同样的观点,你可以考虑使用一个单一的QStandardItemModel + QTableViews而不是QTableWidget的。 – 2011-04-25 21:21:46

如果你有一个数组或在所有小部件的载体,你可以做

void main() 
{ 
    std::vector<tablewidgets> widgets; 

    // Some initialization code the widgets. 

    addMyWidgets(widgets); 
} 

void addMyWidgets(std::vector<tablewidget>& widgets) 
{ 
    for(std::vector<tablewidget>::iterator it = widgets.begin(), end = widgets.end(); 
     it != end; 
     ++it) 
    { 
     addRow(*it); 
    } 
} 
+0

回答自己:),谢谢! – JonnyCplusplus 2011-04-25 20:48:20

所需,不使用参考指针..

main{ 

addRow(tablewidget1); 
addRow(tablewidget2); 
// etc 

}

addRow(QTableWidget的* tablewidget){

int row = tablewidget->rowCount(); 

tablewidget->insertRow(row); 

QTableWidgetItem *item0 = new QTableWidgetItem; 
item0->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); 
tablewidget->setItem(row, 0, item0); 

QTableWidgetItem *item1 = new QTableWidgetItem; 
item0->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled); 
tablewidget->setItem(row, 1, item1); 

}