Я новичок в программировании модели/представления Qt и прочитал Пример модели редактируемого дерева в документации Qt. Хорошая особенность в этом примере заключается в том, что один объект (TreeItem
) инкапсулирует две части информации, которые позже отображаются в одной строке, содержащей два столбца (name
и description
) благодаря переопределению QModelIndex QAbstractItemModel::index
и QVariant QAbstractItemModel::data
.
Теперь у меня также есть пользовательский класс (например, Foo
), содержащий две части информации (Foo::m_name
и Foo::m_description
), которые я хочу отобразить в одной строке, содержащей два столбца, но вместо подкласса QAbstractItemModel
я хочу создать подкласс QStandardItemModel
, потому что в нем много функциональность. Однако кажется, что я должен создать два объекта QStandardItem
для каждого из моих объектов Foo
, один для обработки m_name
, а другой для обработки m_description
. Как я могу сохранить один объект Foo
в памяти и сделать так, чтобы эти два объекта QStandardItem
ссылались на него?
В моем вопросе есть неявное предположение, что нужно создать объект QStandardItem
для каждой пары (строка, столбец). Пожалуйста, дайте мне знать, если это неправильно.