Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Модель/Представление _ заполнение модели данными из хэша

Автор: Andrewshkovskii 1.9.2011, 11:05

Друзья, допустим я хочу заполнить модельку для вьюхи данными.
Моделька предоставляет read-only данные - результат SQL-запроса. Но важно учитывать имена в хидерах.
Есть ли возможность без наследования QSqlQueryModel заполнить модель данными?
Суть проблемы - необходимо в клиентском софте отказать от драйверов кутешных (qodbc), использовать pyodbc, и разместить создание моделек на сервере, передавая сериализированную модель клиенту.
Вопрос возник из-за строчки в доке к функции

Цитата
QSqlQueryModel::insertColumns

By default, inserted columns are empty. To fill them with data, reimplement data() and handle any inserted column separately:


Автор: Максим 2.9.2011, 7:58

Цитата
QSqlQueryModel::insertColumns
By default, inserted columns are empty. To fill them with data, reimplement data() and handle any inserted column separately:

1.Как ясно из вышесказанного есть только 2 варианта : переопределить метод data() либо использовать кастомную прокси модель, где так же переопределен метод data(), т.е. наследования не избежать в любом случае, но вариант с прокси моделью, на мой взгляд, более реюзабельный.

2.Если речь сейчас идет о реализации серверной части, то см 1., если о клиентской и нужно отказаться от стандартный Qt драйверов, то во первых не уверен что нужна именно QSqlQueryModel, т.к. данные передаються от сервера уже в своем формате (насколько я понял), во вторых отказываясь от стандатных Qt БД драйверов никто не мешает написать свой драйвер, который в бэкэнде будет использовать то api, которое вам удобно.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)