C++ (Qt)QRect vr = tableWidget->rect(); QList<QTableWidgetItem *> itemVisual;QList<QTableWidgetItem *> itemNotVisual;for (int i = 0; i < tableWidget->rowCount(); ++i) { for (int j = 0; j < tableWidget->columnCount(); ++j) { QTableWidgetItem *item = tableWidget->item(i, j); QRect r = tableWidget->visualItemRect(item); if (vr.contains(r) || vr.intersects(r)) { itemVisual->append(item); } else { itemNotVisual->append(item); } }}
C++ (Qt)QRect vr = tableWidget->rect(); QList<QTableWidgetItem *> itemVisual;QList<QTableWidgetItem *> itemNotVisual;int i;bool stop = false; for (i = 0; i < tableWidget->rowCount(); ++i) { for (int j = 0; j < tableWidget->columnCount(); ++j) { QTableWidgetItem *item = tableWidget->item(i, j); QRect r = tableWidget->visualItemRect(item); if(r.top() < 0) { itemNotVisual->append(item); continue; } else if (r.y() > vr.top()) { stop =true; break; } if (vr.contains(r) || vr.intersects(r)) { itemVisual->append(item); } else { itemNotVisual->append(item); } } if (stop) { break; } } if (stop) { for (int ii = i; ii < tableWidget->rowCount(); ++ii) { for (int j = 0; j < tableWidget->columnCount(); ++j) { itemNotVisual->append(tableWidget->item(ii, j)); } }}