2011-02-15 2 views
0

C++/Qt 프로젝트에서 작업 중입니다. 두 가지 비즈니스 모델을 가지고 있습니다 (하나는 계층 적 트리 구조, 즉 영화 카테고리/하위 카테고리이고 다른 하나는 간단한 벡터입니다, 즉 하위 카테고리에만 속할 수있는 영화 제목). 둘 다 표시하고 싶습니다. 리프 노드가 모델과 비 리프 노드 모두에 속할 수있는 고유 한 트리 뷰가 첫 번째 모델에 속합니다. 이 뷰 외에도 모델 별 뷰, 첫 번째 모델의 트리 뷰 및 두 번째 모델의 목록 뷰를 표시하려고합니다.단일 트리보기에서 외부 데이터를 사용하여 두 Qt 모델을 표시하는 방법

1) 각 비즈니스 모델 및 혼합 모델을 대표하는 또 다른 하나 QAbstractItemModel 만들기 :

가 나는 3 개 방법을 생각했습니다. 따라서 각보기는 단 하나의 모델과 연관됩니다.

2) 각 비즈니스 모델에 대해 두 개의 QAbstractItemModel 만 작성하고 해당 정보를 처리하는 특수보기를 구현하십시오.

3) QStandardItem 모델을 사용하고 두 비즈니스 모델 요소 모두에 대해 QStandardItem의 하위 클래스를 구현하십시오.

외부 데이터로 작업하고 있으므로 가능하면 모든 정보를 복제하고 싶지 않습니다.

따를 수있는 최선의 방법은 무엇이라고 생각합니까? 모든 구현 조언?

답변

0

QDataWidgetMapper가 가장 좋습니다.

0

하나의 데이터 모델을 만드십시오. 하나의 트리 모델을 만들 겠지만 선택 사항은 있지만 트리 모델을 구현할 수는 있습니다.

목록보기의 경우 트리 모델을 설정할 수 없는지 확인하고 setRootIndex을 사용하여보고 싶은 항목의 목록 만 표시하십시오. 테이블 및 트리보기에서 작동한다는 것을 알고 있으므로 목록보기에서도 사용할 수 있다고 가정합니다.

관련 문제