Я читал статьи о программировании представления модели Qt некоторое время, однако я все еще не совсем понимаю концепцию ролей и то, что они делают в модели/представлении. Я использую модель QStandardItem
. Любая информация по этой теме была бы полезна.
В элементе модели можно хранить различные типы информации и в зависимости от типа, к которому вы хотите получить доступ, вы предоставляете эту роль, чтобы вы сделали следующее:
model->data(index, role);
Где индекс - это элемент в модели, для которой запрашиваются данные, а роль - тип данных, которые вы хотите вернуть.
Например, если вы хотите получить стандартный текст, отображаемый элементом, то вы должны использовать Qt :: DisplayRole, тогда как для получения подсказки инструмента, связанной с этим элементом, вы должны указать роль как перечисление Qt :: ToolTipRole.
Есть много других типов, как вы можете видеть в документации Qt