Попытка создать приложение с пользовательским интерфейсом в QML и доступ к данным из базы данных Sqlite.
В представлении QML есть TableView
для отображения информации в сетке данных с моделью на C ++.
Модель - это класс, унаследованный от QSqlQueryModel
с запросом к базе данных: setQuery("SELECT * FROM Samples", GetDataBase())
Я добавляю новую строку в таблицу базы данных каждую секунду в другом потоке.
Когда я перехожу к представлению, в котором находится TableView
, сетка заполняется информацией из таблицы.Все хорошо.Но затем, каждый раз, когда я добавляю новую строку, я снова вызываю setQuery
, но таблица не обновляется.Если я снова и снова возвращаюсь к представлению, оно заполняется всеми новыми строками.
Я думал, что представление «автоматически» уведомляется при изменении модели, но я полагаю, что отсутствует какое-либо уведомление, чтобывид знать, что есть новые строки или что-то ??
Также ... это всего лишь тестовое приложение, но я предвижу, что в моем реальном приложении информация, отображаемая в сетке, будет меняться очень быстро, и таблица может иметь несколько строк информации (порядка сотен тысяч строк)) поэтому мне интересно, является ли QSqlQueryModel
правильной моделью для таких данных.