Название: И снова периодическое обновление QTableView Отправлено: tacacs от Сентябрь 12, 2007, 16:48 Привет всем.
Клепаю приложение для мониторинга логов. Логи сохраняются в базе (Postgres). Создаю модель, порожденную от QSqlQueryModel и связываю ее с QTableView. Все работает замечательно, логи подгружаются по мере просмотра, памяти много не жрет, хорошо... Записи в логе, естественно, периодически добавляются, добавляет их другая программа. Мониторная программа, по замыслу, должна работать сутками, т.е. все изменения в логе должны отображаться по мере возникновения. Проблема в том, что записей много, вариант периодического выполнения model->setQuery(...); view->setModel(model); не проканывает, ибо медленно, даже если период сделать полминуты, раз в полминуты программа секунд на 5 встает колом, а это неправильно. Пробовал вариант периодического выполнения model->query()->exec(); Работает побыстрее (хотя все равно видно, что тормозит), но визуальное обновление во вьюшке происходит только под Linux, в Венде же ничего не обновляется, а надо чтобы работало одинаково. Отказываться от QSqlQueryModel и разрабатывать модель на базе QAbstract... не хочется, так как очень спасает механизм динамической подгрузки записей в QSqlQueryModel, самому писать такое лень, да и времени мало. Использую Qt 4.2.3 Всем заранее спасибо |