Now that I think about it, it's quite possible that the QTableWidget::setCellWidget() function makes the specified cell the new (and only) owner of the specified widget. This would explain why only the last row uses it.
So maybe you should only call that function when an editor is requested.
Bookmarks