Название: [QSqlQueryModel] создание потомка Отправлено: Troglodit от Сентябрь 04, 2010, 08:47 Qt 4.6.3
Создаю потомка QSqlQueryModel qsqlmyquerymodel.h Код: #ifndef QSQLMYQUERYMODEL_H qsqlmyquerymodel.cpp Код: #include "qsqlmyquerymodel.h" qsqlmyquerymodel_p.h Код: #ifndef QSQLMYQUERYMODEL_P_H при компиляции появляются следующие ошибки Код: debug/qsqlmyquerymodel.o:qsqlmyquerymodel.cpp:(.text$_ZN21QSqlQueryModelPrivateC2Ev[QSqlQueryModelPrivate::QSqlQueryModelPrivate()]+0x18): В чем моя ошибка? Название: Re: [QSqlQueryModel] создание потомка Отправлено: crossly от Сентябрь 06, 2010, 14:40 а для чего потребовался QSqlQueryModelPrivate??
Название: Re: [QSqlQueryModel] создание потомка Отправлено: Troglodit от Сентябрь 06, 2010, 16:52 Мне необходима редактируемая модель, но не табличная. У троллей этого нет. QSqlQueryModel дефакто только для чтения, пример в демках - это ужас. Вот я и решил добавить функционал QSqlTableModel, но не только не для таблицы,а для набора данных.
Даже если взять отдельно взятую таблицу, то в QSqlTableModel я не могу назначить процедуру на вставку/изменение/удаление данных, юзеру не всегда дают разрешение на изменение таблиц напрямую в БД. Вроде бы это стандартный qt-шный шаблон по написанию подобных классов, но в чем-то проблема. Мои приватные и обычные классы созданные по данному шаблону , создаются и компилятся без проблем. Название: Re: [QSqlQueryModel] создание потомка Отправлено: crossly от Сентябрь 06, 2010, 19:33 для того что бы сделать модель редактируемой нужно переопределить всего 2 метода.... http://doc.trolltech.com/4.7-snapshot/model-view-programming.html#making-the-model-editable (http://doc.trolltech.com/4.7-snapshot/model-view-programming.html#making-the-model-editable) а приват классы они для того и приват что бы их никто не трогал...
Название: Re: [QSqlQueryModel] создание потомка Отправлено: Troglodit от Сентябрь 06, 2010, 20:42 Вы пробовали писать реальное приложение с этой моделью? Нет кэша, для каждого запроса фактически писать свой класс, при рефреше теряется фокус. В QSqlTableModel такого нет. Приватный класс использутся по идеалогии qt(например QSqlTableModelPrivat наследуется от QSqlQueryModelPrivat). Посмотрите шаблон pimple (если не ошибаюсь).Я хотел сделать в qt -ном стиле, но не получается.
Название: Re: [QSqlQueryModel] создание потомка Отправлено: crossly от Сентябрь 06, 2010, 20:46 пробовал... и кэш сам делал... ничего сложного там нет... а идеология Qt гласит, то приват классы только для внутренних целей... и использовать их крайне не рекомендуется....
Название: Re: [QSqlQueryModel] создание потомка Отправлено: Troglodit от Сентябрь 06, 2010, 22:38 Значит я не правильно понял.
А насчет функционала, не расскажешь (примерно) как сделал?Как в QSqlTableModel или по-своему? просто я еще ньюб, только разбираюсь. Название: Re: [QSqlQueryModel] создание потомка Отправлено: crossly от Сентябрь 07, 2010, 09:19 а что по функционалу.... смотри что тебе нужно ... и добавляй по тиху... если хош кэш, то советую подсмотреть в tablemodel... там не так сложно..
Название: Re: [QSqlQueryModel] создание потомка Отправлено: Troglodit от Сентябрь 07, 2010, 09:40 спасибо за ответы. я так и сделаю.
|