Question

Je le code suivant:

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

Le code est écrasé sur la deuxième ligne. Il ne fait pas exception soulevée. Aucune trace arrière. Aucun avertissement. Comment puis-je résoudre ce problème?

Était-ce utile?

La solution

Il se peut que vous utilisez la méthode du modèle proxy createIndex () de manière incorrecte. En général, la méthode createIndex () est appelée dans le cadre d'un indice de référence () implémentation de la méthode.

Avez-vous essayé d'appeler la méthode pour obtenir un indice de proxy index de modèle proxy () puis mappage à la source?

Peut-être que vous pourriez montrer le code dans le contexte ou expliquer ce que vous essayez de faire.

Autres conseils

J'ai rencontré le même problème, mais heureusement en utilisant la méthode au lieu de createIndex (index ()) comme David recommande fait la magie. En général, il est une mauvaise idée de mess avec le pointeur interne de QModelIndex en dehors de la méthode index (). Même lorsque vous utilisez votre propre modèle déconner le pointeur interne conduit souvent à bahavior inattendu puisque Qts Voir le code est assez obscure pour l'utilisateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top