문제

다음 코드가 있습니다.

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 () 메소드는 Model 's Index () 메소드 구현의 일부로 호출됩니다.

프록시 모델의 index () 메소드를 호출하여 프록시 인덱스를 얻은 다음 소스에 매핑하려고 했습니까?

아마도 당신은 맥락에서 코드를 보여 주거나 당신이하려는 일을 설명 할 수 있습니다.

다른 팁

나는 같은 문제가 발생하지만 다행히 David가 권장하는 것처럼 CreateIndex () 대신 index () 메소드를 사용합니다. 일반적으로 index () 메소드 외부의 QModelIndex의 내부 포인터를 엉망으로 만드는 것은 나쁜 생각입니다. QTS View Code가 사용자에게 매우 모호하기 때문에 내부 포인터 주위에 자신의 모델 혼란을 사용하는 경우에도 내부 포인터 주위에 종종 예상치 못한 Bahavior로 연결됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top