void ObjUI::EnlistObjectProperties(const Properties &props, QTableWidget *widget){ while (widget->rowCount()) widget->removeRow(widget->rowCount()-1); for (int i=0; i<props.size(); ++i) { widget->insertRow(i); const Property &p = props[i]; QTableWidgetItem *newItem = new QTableWidgetItem (QString::fromLocal8Bit(p.name.c_str())); newItem->setFlags(Qt::ItemIsEnabled); widget->setItem(i, 0, newItem); newItem = new QTableWidgetItem (QString::fromLocal8Bit(p.Value2String().c_str())); newItem->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEditable|Qt::ItemIsEnabled); widget->setItem(i, 1, newItem); }}
widget->clear();
dialog->objProps->setRowCount(100);//в одном из методов идёт вызовEnlistObjectProperties(..., dialog->objProps);//...void ObjUI::EnlistObjectProperties(const Properties &props, QTableWidget *widget){ widget->clearContents(); QTableWidgetItem *newItem = new QTableWidgetItem (QString::fromLocal8Bit("***")); widget->setItem(0, 0, newItem);}
class QTableWidget { ... QVector<QTableWidgetItem*> tableItems; ...}...void QTableModel::clearContents(){ for (int i = 0; i < tableItems.count(); ++i) { if (tableItems.at(i)) { tableItems.at(i)->model = 0; delete tableItems.at(i); tableItems[i] = 0; } } reset();}
Test::Test(QWidget *parent) : QMainWindow(parent){ setupUi(this); tableWidget->setColumnCount(2); connect(pushButton, SIGNAL(clicked()), this, SLOT(slot_1()));}void Test::slot_1(){ tableWidget->clearContents(); tableWidget->setRowCount(0); for (int i=0; i<100; ++i) { tableWidget->insertRow(i); QTableWidgetItem *newItem = new QTableWidgetItem (QString("Cell (%1:0)").arg(i)); newItem->setFlags(Qt::ItemIsEnabled); tableWidget->setItem(i, 0, newItem); newItem = new QTableWidgetItem (QString("Cell (%1:1)").arg(i)); newItem->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEditable|Qt::ItemIsEnabled); tableWidget->setItem(i, 1, newItem); }}