QpSqlTableModel2

фотка 1

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

Все это на самом деле про переопределение запросов к базе данных (в функции selectStatement) и получению расширенных данных при выполнении select для базы данных.

А вот ещё на практике хочется иметь функционал автоматического вычисления значения поля по значениям других полей. Но это уже внутри модели данных без запросов к базе данных.

Типичный пример: цена*количество=сумма.

Удобнее это реализовать также в модели данных, а точнее в классе унаследованном от QpSqlTableModel. Назовем его QpSqlTableModel2.

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

В общем все банально, но очень полезно.