QSortFilterProxyModel.mapToSource аварийно завершает работу. Нет информации почему - PullRequest
1 голос
/ 22 марта 2009

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

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())

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

Ответы [ 2 ]

2 голосов
/ 23 марта 2009

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

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

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

0 голосов
/ 26 августа 2009

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

...