QpTableViewWrapper

фотка 1

Предлагаем мировому сообществу удобную связку (пару классов) модели данных и визуального  табличного представления с удобными фишками. 

Речь о классе модели данных QpSqlTableModel  и классе  табличного представления QpTableViewWrapper.

По сути это готовый шаблон для редактирования таблицы, у которой есть внешние связи, внешние вычисляемые поля и еще много вкусных плюшек.

Есть реализация выпадающих списков (QComboBox) и QCheckBox для полей таблицы.

Вся настройка может делается в одном файла например config.cpp, где прописывается конфигурация ваших таблиц (статически).

В классе представления QpTableViewWrapper реализованы стандартные кнопки для добавления, копированияредактирования, удаления строк таблицы.

Также вы можете всегда динамически подключить в таблице поиск по колонкам, отбор по значению, сортировку по колонке.

фотка 2

Могут быть добавлены вычисляемые колонки по данным других внешних таблиц.

Мы проверяем пока это все на Qt 4.8.1, Sqlite 3, компилятор msvc-2010.

Чтобы добавить кнопки управления для QTableView мы сделали обычное  наследование ( не влезая в приватные классы исходников Qt ), получился класс QpTableViewWrapper.

Надо понимать, что QTableView это по сути обычный виджет, которому layout просто так не добавить, так как у него нет своего лейаута. То есть это простой виджет типа кнопка, лэйбл и т.д.

Мы теперь можем выводить в таблице  вычисляемые поля по данным других таблиц. Например поле sold:

фотка 3

Советуем ознакомится также с нашим открытым проектом QTableView новые возможности.