QSortFilterProxyModel.mapToSource выходит из строя.Нет информации, почему

StackOverflow https://stackoverflow.com/questions/671340

  •  21-08-2019
  •  | 
  •  

Вопрос

У меня есть следующий код:

proxy_index = self.log_list.filter_proxy_model.createIndex(index, COL_REV)
model_index = self.log_list.filter_proxy_model.mapToSource(proxy_index)
revno = self.log_list.model.data(model_index,QtCore.Qt.DisplayRole)
self.setEditText(revno.toString())

Код потерпел крах на второй строке.При этом не возникает никакого исключения.Никаких следов.Никаких предупреждений.Как мне это исправить?

Это было полезно?

Решение

Возможно, вы неправильно используете метод createIndex() прокси-модели.Обычно метод createIndex() вызывается как часть реализации метода index() модели.

Вы пробовали вызывать метод index() прокси-модели, чтобы получить прокси-индекс, а затем сопоставить его с источником?

Возможно, вы могли бы показать код в контексте или объяснить, что вы пытаетесь сделать.

Другие советы

Я столкнулся с той же проблемой, но, к счастью, использование метода index () вместо createIndex (), как рекомендует Дэвид, творит чудеса.В общем, это плохая идея - возиться с внутренним указателем QModelIndex вне метода index ().Даже при использовании вашей собственной модели манипулирование внутренним указателем часто приводит к неожиданному поведению, поскольку код представления Qts довольно неясен для пользователя.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top