QSortFilterProxyModel.mapToSource выходит из строя.Нет информации, почему
Вопрос
У меня есть следующий код:
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 довольно неясен для пользователя.