Pergunta

Eu tenho o seguinte código:

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

O código caiu na segunda linha. Não há exceção levantada. Nenhum traço de volta. Nenhuma advertência. Como faço para corrigir isso?

Foi útil?

Solução

Pode ser que você está usando o método do modelo de procuração CreateIndex () incorretamente. Normalmente, o método CreateIndex () é chamado como parte do índice de um modelo () implementação do método.

Você já tentou ligar para o índice do modelo de proxy () para obter um índice de proxy, então o mapeamento que à fonte?

Talvez você possa mostrar o código no contexto ou explicar o que você está tentando fazer.

Outras dicas

Já corri para o mesmo problema, mas, felizmente, usando o método index () em vez de CreateIndex () como David recomenda faz a mágica. Em geral, é uma má idéia para mexer com o ponteiro interno de QModelIndex fora do método index (). Mesmo quando se utiliza o seu próprio Messing Modelo em torno das ligações ponteiro interno muitas vezes para bahavior inesperada desde Qts Ver código é bastante obscuro para o usuário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top