Russian Qt Forum
Ноябрь 24, 2024, 00:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: проблема с отображением QSqlQueryModel в наследнике от QTableView  (Прочитано 4186 раз)
gorec323
Гость
« : Февраль 21, 2011, 10:16 »

Проблема состоит в следующем. Выполняются асинхронные запросы к БД в отдельном потоке для устранения замирания UI при запросе больших объемов данных из БД. Создаю модель в потоке UI и устанвливаю эту модель для представления(наследника от QTableView). В потоке UI устанавливаю необходимые заголовки для отображения модели и передаю указатель на эту модель в поток, в котором выполняются запросы. После выполнения запроса результат отображается не совсем правильно, т.е. количество строк в отображении больше, чем количество записей в результате запроса. Причем выделить можно только непустые строки. Результат работы -  во вложении. При необходимости выложу исходники.
Записан
_KoT_
Гость
« Ответ #1 : Февраль 21, 2011, 17:22 »

А в чём наследник отличается от QTableView? Может ради эксперимента попробовать с обычным QTableView?
Записан
kalif
Гость
« Ответ #2 : Февраль 22, 2011, 10:17 »

Я тоже столкнулся с такой проблемой, решения пока не нашел. Скорее всего это баг самого Qt. Проблема наблюдается при заполнении модели в отдельном потоке и не зависит от представления.
Записан
gorec323
Гость
« Ответ #3 : Февраль 22, 2011, 12:44 »

http://bugreports.qt.nokia.com/browse/QTBUG-1820 - как я понял - это баг Qt
Записан
integer005
Гость
« Ответ #4 : Февраль 24, 2011, 13:27 »

Mutex использовал. Может одновременное обращение к одному указателю, потому такой эффект?
Записан
gorec323
Гость
« Ответ #5 : Февраль 24, 2011, 20:50 »

Mutex использовал. Может одновременное обращение к одному указателю, потому такой эффект?
Чтобы использовать mutex, его надо передавать тогда в модель, а модель его не использует. Поэтому не в этом дело. Тем более, что уже описал выше, про баг в qt, что пустые строки появляются, если QTableView в качестве модели установить пустую QSqlQueryModel.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 21.