c++ - Cannot insert an item that is already owned by another QTableWidget -


i'm having issues qtablewidgettable, after run findtableitems function resets rows/number appropriate size, not put data cells.

i can see objects holding correct data. recieve no compile errors debugger makes note:

qtablewidget: cannot insert item owned qtablewidget

what don't understand have 1 tablewidget ? whats deal ? i'm open different way of doing this.

void mainwindow::findtableitems(qstring searchitem) {     qlist<int> matches;      qlist<qlist<qtablewidgetitem*> > allrows;      qlist<qtablewidgetitem*> temprow;      qlist<qtablewidgetitem *> temptable = ui->tablewidget->finditems(searchitem,qt::matchcontains);     foreach(qtablewidgetitem *rowptr,temptable)     {     int currentrow = rowptr->row();     matches.append(currentrow);     }      for(int = 0; < ui->tablewidget->rowcount(); ++i)     {         if(matches.contains(i))         {              qtablewidgetitem *tempcasenameitem = new qtablewidgetitem;             qtablewidgetitem *tempinterviewnameitem = new qtablewidgetitem;             qtablewidgetitem *tempinterviewernameitem = new qtablewidgetitem;             qtablewidgetitem *tempintervieweenameitem = new qtablewidgetitem;             qtablewidgetitem *tempobservernameitem = new qtablewidgetitem;             qtablewidgetitem *tempdateitem = new qtablewidgetitem;              tempcasenameitem->settext(ui->tablewidget->item(i,0)->text());             temprow.append(tempcasenameitem);              tempinterviewnameitem->settext(ui->tablewidget->item(i,1)->text());             temprow.append(tempinterviewnameitem);              tempinterviewernameitem->settext(ui->tablewidget->item(i,2)->text());             temprow.append(tempinterviewernameitem);              tempintervieweenameitem->settext(ui->tablewidget->item(i,3)->text());             temprow.append(tempintervieweenameitem);              tempobservernameitem->settext(ui->tablewidget->item(i,4)->text());             temprow.append(tempobservernameitem);              tempdateitem->settext(ui->tablewidget->item(i,5)->text());             temprow.append(tempdateitem);              allrows.append(temprow);         }     }     ui->tablewidget->setrowcount(0);     foreach(qlist<qtablewidgetitem*> rowitems, allrows)     {         int row = ui->tablewidget->rowcount();         ui->tablewidget->insertrow(row);          foreach(qtablewidgetitem *rowitem, rowitems)         {             for(int = 0; < 6; ++i)             {                 ui->tablewidget->setitem(row, i, rowitem);                // ui->tablewidget->item(row, i)->settextalignment(qt::alignvcenter);             }         }     } } 

i had bad loop, @ bottom, sorry's should have paid more attention


Comments

Popular posts from this blog

Why does Ruby on Rails generate add a blank line to the end of a file? -

node.js - Bad Request - node js ajax post -

uitableview - Create and use custom prototype table cells in xamarin ios using storyboard -