2014-02-11 7 views
0

나는 이것에 대한 답을 찾았지만 여기서 찾을 수 없었습니다. 그래서 물어볼 것입니다.PySide에서 QFileSystemModel을 사용하여 인덱스에서 항목 가져 오기

QStandardModel의 경우 itemFromIndex 명령 기능을 사용하여 QModelIndex에서 항목을 가져 오는 것이 매우 간단합니다.

model = openedIndex.model() 
item = model.itemFromIndex(openedIndex) 

나는 기본적으로 같은 일에 관심이 있지만 QFileSystemModel을 위해, 내가이 작업을 수행 할 수있는 쉬운 또는 정직 방법이있다. 문서에서 아무 것도 볼 수 없습니다.

답변

1

QFileSystemModel에는 아이템 클래스가 없습니다. 각 항목에 대해 개체를 만들지 않습니다.

QFileSystemModel::filePathQFileSystemModel::index 방법이 유용 할 수 있습니다. 그들은 인덱스와 패스를 변환 할 수 있습니다. 인덱스와 경로는 모두 고유 한 항목 식별자로 사용할 수 있습니다.

QFileSystemModel의 일부 항목을 비활성화하는 것은 직접 불가능합니다. 원본 모델과 거의 동일한 데이터 및 플래그를 반환하지만 필요하면 Qt::ItemIsEnabled 플래그를 제거하는 프록시 모델 클래스를 만들어야합니다.

+0

그런 경우가 아니라면 항목을 사용 중지하는 방법에 대한 아이디어가 있습니다. 필터링을 설정하면 항목이 비활성화되어 가능한 것으로 가정합니다. – ceorron

+1

직접 할 수는 없습니다. 원본 모델과 거의 동일한 데이터와 플래그를 반환하지만 필요할 때'Qt :: ItemIsEnabled' 플래그를 제거하는 프록시 모델 클래스를 만들어야합니다. –

+0

프록시 모델을 만들었습니다. 프록시 모델을 사용하여'Qt :: ItemIsEnabled' 플래그를 제거하는 방법은 무엇입니까? – ceorron