[Qt-interest] Problem deleting QTreeWidgetItem objects

Bruno Tomazela btomazela1 at gmail.com
Thu Apr 2 19:35:54 CEST 2009


Just completing the message, I did these tests under Linux (Ubuntu 8-10).

Tomazela.

On Thu, Apr 2, 2009 at 2:06 PM, Bruno Tomazela <btomazela1 at gmail.com> wrote:

> Hi everybody,
>
> I'm facing a strange problem with QTreeWidget and QTreeWidgetItem.
> I'm inserting and removing QTreeWidgetItem items in a QTreeWidget
> consecutively and the memory usage explodes.
>
> I set up a GUI app with just an empty QTreeWidget to test the memory
> behavior when deleting items (QTreeWidgetItem).
> So, when I execute the following code on this test app:
>
> void MainWindow::testTreeWidget(){
>
>  for (int i = 0; i < 100000; i++){
>
>
> if (i % 10000 == 0) QTest::qWait(1); //<-- WAIT CONDITION
>
> this->createItem();
>
>  this->deleteItem();
>
>  }
>
> }
>
>
>  void MainWindow::createItem(){
>
>  this->treeWidget->insertTopLevelItem(0, new
> QTreeWidgetItem((QTreeWidget*)0));
>
> }
>
>
>  void MainWindow::deleteItem(){
>
>  QTreeWidgetItem
>
> *deletedItem;
>
>
> deletedItem = this->treeWidget->invisibleRootItem()->takeChild(0);
>
>
> delete deletedItem;
>
> }
>
>
> and compile without the WAIT CONDITION line, the memory usage grows up to
> 30MB.
> But when I compile with the WAT CONDITION line, the memory usage doesn't go
> over 5.2MB.
>
> Am I missing something here or delete isn't working properly?
>
> Thanks in advance,
> Tomazela.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20090402/69401b18/attachment.html 


More information about the Qt-interest-old mailing list