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);
}
答
如果你有一个数组或在所有小部件的载体,你可以做
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);
}
如果在同一数据添加到了同样的观点,你可以考虑使用一个单一的QStandardItemModel + QTableViews而不是QTableWidget的。 – 2011-04-25 21:21:46