我有一个包含~12个tablewidgets的程序,如何在一个函数中设置一个函数来为所有12个表添加行?
即
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 :(得分:0)
如果您有一个包含所有小部件的数组或向量,则可以执行
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);
}
}
答案 1 :(得分:0)
需要不使用引用指针..
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);
}