Утечка памяти QTextEdit |
Здравствуйте, гость ( Вход | Регистрация )
Утечка памяти QTextEdit |
Anticross |
6.8.2010, 13:33
Сообщение
#11
|
Студент Группа: Участник Сообщений: 22 Регистрация: 31.3.2010 Пользователь №: 1579 Спасибо сказали: 0 раз(а) Репутация: 0 |
А иначе - это не утечка вовсе, а просто память то занимается потихоньку не удаляемыми данными Все правильно, в этом то и состоит задача: хранить все сообщения на ЖД а выводить в виджет лишь актуальную в данный момент. Причем визуально пользователь не должен ощутить никакой разницы(тобиш пролистывать как будто текст целяком хранится в виджете). И еще вопрос: Освободится ли выделенная память после удаления текста из виджета скажем путем выделения строк и нажатия del ? |
|
|
Алексей1153 |
6.8.2010, 13:41
Сообщение
#12
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Anticross, да не думай, что там в виджете будет. Полагаю, что такое действие как "выделения строк и нажатия del" вообще нельзя допускать )
Лучше применить табличный виджет и сделать на нём фиксированное число строк - ровно сколько влазит на экран. Сообщения же пусть лежат в кеше (если своего нет, могу код скинуть, только там с MFC немного переделать придётся на Qt). И вот, пользователь будет двигать ползунок, а ты будешь двигать воображаемое окно, и оттуда отображать текущие строки. Будет быстро, красиво и монолитно )) Но сами сообщения надо будет в БД хранить (или в аналоге) |
|
|
BRE |
6.8.2010, 13:59
Сообщение
#13
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Anticross если логи не обязательно выводить в QTextEdit, то использование QListView/QTableView и своей модели будет лучшим решением.
|
|
|
kuzulis |
6.8.2010, 14:09
Сообщение
#14
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Anticross,
лог пиши постоянно в файл. А в TextEdit выводи только несколько текущих строк... Например ограничься 50-ю строками. т.е. при перемещении вертикального скроллбара ты просто подгружай из лог-файла нужные данные и отображай их в TextEdit. Одновременно при добавлении новой записи в лог-файл ты отображай её в TextEdit. Типа в данном случае TextEdit выступает как интерактивная гляделка лог-файла. -- Упс.. это таже идея что и в "Сообщение #11" Сообщение отредактировал kuzulis - 6.8.2010, 14:15 |
|
|
Текстовая версия | Сейчас: 30.11.2024, 10:03 |