Russian Qt Forum

Qt => Базы данных => Тема начата: NetWorm от Май 11, 2012, 22:20



Название: Правильное построение модели данных
Отправлено: NetWorm от Май 11, 2012, 22:20
Доброго всем времени суток! В Qt совершенно новичок, только учусь... В общем есть вопрос такой.. Как правильно и грамотно описывать модель данных. Вот пример.

Код:
        QSqlQuery query;
        query.exec("SELECT ID, UserName, RealUserName, Blocked, Deleted "
                   " FROM sys_users");
        peopleTable *userTab = new peopleTable;
        userTab->setQuery(query);
        userTab->setHeaderData(1,Qt::Horizontal,QObject::tr("Имя пользователя"));
        userTab->setHeaderData(2,Qt::Horizontal,QObject::tr("Полное имя"));
        ui->table_users->setModel(userTab);
        ui->table_users->hideColumn(3);
        ui->table_users->hideColumn(4);

        ui->table_users->horizontalHeader()->setResizeMode(QHeaderView::Stretch);

т.е. все ли верно? Или как-то это можно сделать более универсально? А то так получается нужно для каждой таблички описывать каждую колонку? т.е. делать вот это?
Код:
        userTab->setHeaderData(1,Qt::Horizontal,QObject::tr("Имя пользователя"));
        userTab->setHeaderData(2,Qt::Horizontal,QObject::tr("Полное имя"));
а потом еще и скрывать лишние
Код:
ui->table_users->hideColumn(3);
ui->table_users->hideColumn(4);

т.е. существует только такой подход или же как-то это делается более профессионально???


Название: Re: Правильное построение модели данных
Отправлено: mutineer от Май 11, 2012, 22:40
Заголовки столбцов можно задавать прямо из модели (в headerData)


Название: Re: Правильное построение модели данных
Отправлено: NetWorm от Май 12, 2012, 04:15
т.е? Использовать setHeaderData?


Название: Re: Правильное построение модели данных
Отправлено: Bepec от Май 12, 2012, 09:10
Он предлагает тебе наследоваться и создать свою модель.


Название: Re: Правильное построение модели данных
Отправлено: NetWorm от Май 12, 2012, 09:35
А ну примерно понятно... т.е. можно описать свойства некии, а потом наследовать от нее???


Название: Re: Правильное построение модели данных
Отправлено: mutineer от Май 12, 2012, 09:46
Он предлагает тебе наследоваться и создать свою модель.

Мне казалось что ТС уже отнаследовался


Название: Re: Правильное построение модели данных
Отправлено: NetWorm от Май 12, 2012, 09:49
Да я сделал наследника у меня анализируется состояние пользователя, заблокирован не заблокирован... Сответственно ставится разная картинка


Название: Re: Правильное построение модели данных
Отправлено: mutineer от Май 12, 2012, 09:51
Да я сделал наследника у меня анализируется состояние пользователя, заблокирован не заблокирован... Сответственно ставится разная картинка

ну вот переопредели в своем наследнике метод headerData() и из него возвращай названия столбцов