Не уверен на все много процентов, но...
Была задача формировать отчет ваще плавающей структуры. В результате решение, хоть и зашадочное, но нашел. Поскольку исходная информация поступет практически неструктурированно, структурировал сам. Храню в XML (в коде реализовано как наследник от QAbstractItemModel, item'ы оного в структуре, структура достается и формируется через internalPointer), в отчете скрипты и использование html. Ну и, естественно, calbackDataSource.
Поскольку я оградил себя от ограничений хранимой в моделе информации, через callBack можно передать любые признаки и делать в отчете все что угодно банальным форматированием html. Пробовал через форматирование скриптовое, вроде This.font и т.д. Но html в данной ситуации гибче оказался
Возможно, и тут поможет