Domanda

Ho il seguente codice:

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

Il codice si è schiantato sulla seconda riga. Non v'è alcuna eccezione sollevata. No indietro traccia. Nessun avviso. Come posso risolvere questo problema?

È stato utile?

Soluzione

Può essere che si sta utilizzando il metodo createIndex () del modello di proxy in modo non corretto. Di solito, il metodo createIndex () viene chiamato come parte di indice di un modello () implementazione del metodo.

Hai provato chiamando indice del modello proxy () metodo per ottenere un indice di delega poi la mappatura che alla fonte?

Forse si potrebbe mostrare il codice nel contesto o spiegare che cosa si sta cercando di fare.

Altri suggerimenti

ho incontrato lo stesso problema, ma per fortuna con il metodo anziché createIndex (indice ()) come David raccomanda fa la magia. In generale è una buona idea per fare un giro con il puntatore interno della QModelIndex fuori del metodo index (). Anche quando si utilizza il proprio modello fare in giro il puntatore interno porta spesso a bahavior inaspettato in quanto Qts View codice è abbastanza oscura per l'utente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top