Освобождение памяти в Qt (Когда в Qt освобождается память?)

Модератор: Модераторы разделов

S-Diablo
Сообщения: 4
ОС: SuSE 10.1-Mandriva 2006-WinXP

Освобождение памяти в Qt

Сообщение S-Diablo »

Вопрос собственно такой:

Создаем к примеру QTextEdit и из дополнителного потока создаем пользовательские события для добавления текста в контрол. При этом если кол-во текста привышает определенное кол-во строк, то строки сдвигаются вверх (верхняя удаляется, нижняя добавляется) - как в консоли.

Только вот память не освобождается! И программа продолжает сжирать по 4-8 Кб в секунду (зависит от скорости вывода текста).

Расскажите, пожалуйста, как в Qt работает память и можно ли избавиться от пожирания памяти приложением?

Спасибо.
Спасибо сказали:
edranovdenis
Сообщения: 135
ОС: main mdv2006

Re: Освобождение памяти в Qt

Сообщение edranovdenis »

не помню точно, но, вроде, в QTextEdit абзацы представлены в виде списка экземпляров (не помню какого) отдельного класса. необходимо удалять экземпляры абзацев.

имхо классы Qt лучше вообще изучать с QWidget.
Живая мысль подобна реке бегущей с гор - будучи полноводной, не засохнет, но непременно впадет в океан.
Спасибо сказали:
S-Diablo
Сообщения: 4
ОС: SuSE 10.1-Mandriva 2006-WinXP

Re: Освобождение памяти в Qt

Сообщение S-Diablo »

не помню точно, но, вроде, в QTextEdit абзацы представлены в виде списка экземпляров (не помню какого) отдельного класса. необходимо удалять экземпляры абзацев.


Искал, но ничего подобного не нашел, если не трудно подскажите, что за класс. Буду признателен.
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Освобождение памяти в Qt

Сообщение eduard_pustobaev »

edranovdenis писал(а):
14.12.2006 17:50
не помню точно, но, вроде, в QTextEdit абзацы представлены в виде списка экземпляров (не помню какого) отдельного класса. необходимо удалять экземпляры абзацев.

имхо классы Qt лучше вообще изучать с QWidget.


Хмм... QTextBlock->(QTextCursor::insert())->QTextDocument::setDocument();

Может что-либо из этого по душе придётся? Смотреть в assistant про rich text.
В дисгармонии со вселенной.
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: Освобождение памяти в Qt

Сообщение v04bvs »

S-Diablo писал(а):
11.12.2006 21:15
Вопрос собственно такой:

Создаем к примеру QTextEdit и из дополнителного потока создаем пользовательские события для добавления текста в контрол. При этом если кол-во текста привышает определенное кол-во строк, то строки сдвигаются вверх (верхняя удаляется, нижняя добавляется) - как в консоли.

Только вот память не освобождается! И программа продолжает сжирать по 4-8 Кб в секунду (зависит от скорости вывода текста).

Продемонстрируйте это на минимальном примере.
Спасибо сказали: