Red de conocimiento informático - Problemas con los teléfonos móviles - Después de que el método removeRow() de Qt tablewidget elimina una fila, ¿los elementos de la fila se liberan automáticamente o es necesario eliminarlos manualmente?

Después de que el método removeRow() de Qt tablewidget elimina una fila, ¿los elementos de la fila se liberan automáticamente o es necesario eliminarlos manualmente?

Ambos métodos han borrado la memoria. Por favor consulte SRC.

http://code.woboq.org/kde/qt4/src/gui/itemviews/qtablewidget.cpp.htmlbool?QTableModel::removeRows(int?row, ?int?count, ?const? QModelIndex?amp;)

101{

102if?(count?lt;1||?row?lt;0||?row? ?count?gt;?verticalHeaderItems. count())

103return?false;

104

105beginRemoveRows(QModelIndex(),?);

106int?i= ?tableIndex(fila, 0);

107int?n=?count?*?columnCount();

108QTableWidgetItem?*oldItem=0;

109for ?(int?j=?i;?j?lt;?n? ?i;? j)?{

110oldItem?=?tableItems.at(j);

111if?(oldItem)

112oldItem-gt;view?=0;

113delete?oldItem;

114}

115tableItems. remove(qMax(i, 0),?n);

116for?(int?v=?row;?v?lt;?row? ?count;? v)?{

117oldItem?=?verticalHeaderItems.at(v);

118if?(oldItem)

119oldItem-gt;view?=0;

120delete ?oldItem;

121}

122verticalHeaderItems.remove(row,?count);

123endRemoveRows();

124return?true ;

125}

void QTableModel::clear()

{

for (int j = 0; j lt; verticalHeaderItems .count(); j) {

if (verticalHeaderItems.at(j)){

verticalHeaderItems.at(j)-gt; p> eliminar verticalHeaderItems.at(j); // lt;--

verticalHeaderItems[j] = 0;

}

}

para (int k = 0; k lt; horizontalHeaderItems.count(); k) {

if (horizontalHeaderItems.at(k)) {

horizontalHeaderItems.at(k)-gt ;ver = 0;

eliminar

horizontalHeaderItems.at(k); // lt;--

horizontalHeaderItems[k] = 0;

}

clearContents();

}