Это невозможно со стандартными сигналами Qt. Я предлагаю добавить еще один сигнал для этого.
Для моих собственных моделей я обычно использую такой подход: у меня есть корневой экземпляр, который содержит указатели на все части моей модели данных. Элементы в моей модели используют этот корневой экземпляр для отправки сигналов типа
itemChanged(item, attribute, oldValue, newValue)
для простых свойств. То же самое касается списков и тому подобного; только здесь у меня есть несколько сигналов в зависимости от действия, например:
itemAdded(list, item, index)
[EDIT] Обработка сигналов QT очень проста. Как правило, он только скажет «что-то изменилось». Нет поддержки "что именно изменилось?" так как вам это не нужно большую часть времени. Поэтому, если вам нужна эта информация, вы должны сделать это самостоятельно. Вы не можете использовать одну роль, потому что роли должны быть подкреплены чем-то в вашем предмете. Что вы можете сделать, это добавить информацию об изменениях в ваши элементы и прочитать ее, когда роль запрашивается. Но это не то, что поддерживается "из коробки".