Название: проблема с отображением QSqlQueryModel в наследнике от QTableView Отправлено: gorec323 от Февраль 21, 2011, 10:16 Проблема состоит в следующем. Выполняются асинхронные запросы к БД в отдельном потоке для устранения замирания UI при запросе больших объемов данных из БД. Создаю модель в потоке UI и устанвливаю эту модель для представления(наследника от QTableView). В потоке UI устанавливаю необходимые заголовки для отображения модели и передаю указатель на эту модель в поток, в котором выполняются запросы. После выполнения запроса результат отображается не совсем правильно, т.е. количество строк в отображении больше, чем количество записей в результате запроса. Причем выделить можно только непустые строки. Результат работы - во вложении. При необходимости выложу исходники.
Название: Re: проблема с отображением QSqlQueryModel в наследнике от QTableView Отправлено: _KoT_ от Февраль 21, 2011, 17:22 А в чём наследник отличается от QTableView? Может ради эксперимента попробовать с обычным QTableView?
Название: Re: проблема с отображением QSqlQueryModel в наследнике от QTableView Отправлено: kalif от Февраль 22, 2011, 10:17 Я тоже столкнулся с такой проблемой, решения пока не нашел. Скорее всего это баг самого Qt. Проблема наблюдается при заполнении модели в отдельном потоке и не зависит от представления.
Название: Re: проблема с отображением QSqlQueryModel в наследнике от QTableView Отправлено: gorec323 от Февраль 22, 2011, 12:44 http://bugreports.qt.nokia.com/browse/QTBUG-1820 - как я понял - это баг Qt
Название: Re: проблема с отображением QSqlQueryModel в наследнике от QTableView Отправлено: integer005 от Февраль 24, 2011, 13:27 Mutex использовал. Может одновременное обращение к одному указателю, потому такой эффект?
Название: Re: проблема с отображением QSqlQueryModel в наследнике от QTableView Отправлено: gorec323 от Февраль 24, 2011, 20:50 Mutex использовал. Может одновременное обращение к одному указателю, потому такой эффект? Чтобы использовать mutex, его надо передавать тогда в модель, а модель его не использует. Поэтому не в этом дело. Тем более, что уже описал выше, про баг в qt, что пустые строки появляются, если QTableView в качестве модели установить пустую QSqlQueryModel. |