Я использую C++, Qt 4.8.5, Visual Studio 2010, SQLite. У меня есть приложение с графическим интерфейсом на основе Qt, которое содержит QTableView
. Программа анализирует некоторые данные и изменяет некоторые ячейки без добавления/удаления строк. Я использую QTimer для обновления QTableView
в режиме OnManualSubmit
. Безопасно ли вызывать метод submitAll()
в слоте таймера для модели несколько раз, даже если модификаций нет? Если submitAll()
терпит неудачу, то должен ли я вручную вызывать метод select()
моей модели? А как насчет выборки строк для SQLite - она мне нужна после вызова submitAll()
, чтобы смотреть изменения ячеек в 257-й и последующих строках?
Иногда у меня появляется последняя ошибка типа "Несоответствие количества параметров" (QSqlError::StatementError
) после второго вызова 'submitAll()'. Какова возможная причина? Программа многопоточная, рабочие потоки отправляют данные в основной поток. Таймер срабатывает каждые 3 секунды (изменения буферизуются). Это вместо мгновенного обновления ячейки в QTableView
.