Использование QAbstractProxyModel
не является неправильным подходом, его можно использовать для сопоставления любой модели источника с целью реструктуризации данных.Но это будет много работы, вам придется заново реализовать несколько методов, в том числе columnCount
, data
, flags
, index
и другие.По сути, вы должны убедиться, что индексы этой модели соответствуют корректным данным исходной модели.Кроме того, если у вас есть динамическая модель, вам нужно обрабатывать сигналы, поступающие из исходной модели, изменять значения и переизлучать их.Если вы хотите, чтобы представление также редактировало данные, вам придется повторно реализовать setData
и т. Д.
Например, если у вас есть столбец, к которому добавлены два значения, и вы хотитечтобы отобразить их в двух отдельных столбцах, columnCount
должен вернуть один дополнительный, data
должен извлечь исходные данные и вернуть только одну часть на основе столбца в индексе, index
должен быть изменен для проверки новых границэта модель и т. д.
Если вам нужна более конкретная помощь по этому вопросу, пожалуйста, опубликуйте пример кода.