Как QAbstractItemView узнает о моих пользовательских ролях при отправке dataChanged() без ролей?

После получения сигнала QAbstractItemModel::dataChanged() подключенные QAbstractItemViews вызовут метод QAbstractItemModel::data() для обновления своих данных. Определяемый пользователем метод data () должен предоставлять различную информацию, основанную как на предопределенных ролях, таких как Qt::DisplayRole, так и на любом количестве пользовательских ролей, которые должны иметь значения, эквивалентные Qt:: UserRole и выше.

Имея это в виду, документация Qt относительно сигнала QAbstractItemModel::dataChanged() гласит:

Необязательный аргумент ролей можно использовать, чтобы указать, какие роли данных были фактически изменены. Пустой вектор в аргументе ролей означает, что все роли должны считаться измененными. Порядок элементов в аргументе ролей не имеет никакого отношения.

http://doc.qt.io/qt-5/qabstractitemmodel.html

В свете этого, как QAbstractItemView может вызывать все мои пользовательские роли, когда я вызываю dataChanged с пустым вектором ролей? Или это относится только к предопределенным ролям Qt?

0 ответов

Другие вопросы по тегам