나는 과 비슷한 상황 (별로 동일하지 않음!)을 가지고 있습니다. 경험을 공유하기 전에 목록/도구를 구성하는 항목으로 구성된 데이터베이스가 있다고 가정합니다.
한 가지 가능한 솔루션은 두 개의 사용자 정의 모델 (QTableView
과 관련된 MyTableViewModel -> QAbstractItemModel
) 테이블 뷰 트리 (QTreeView
과 관련된 말, MyTreeViewModel -> QAbstractItemModel
)보기 하나 하나를 만드는 것입니다.
두 사용자 정의 모델은과 동일한 에이전트로 에 의해 공급되어야합니다. 키 차이은 트리 뷰 모델이 전체 데이터베이스 및 하위 집합, 즉 주 목록에서 선택한 항목의 하위 항목 만있는 테이블 뷰 모델에서 작동한다는 것입니다. 전체 매핑과 데이터베이스의 부분 매핑으로 생각하십시오.
사용자가 트리 뷰에서 노드의 상위 목록을 클릭하면 MyTableViewModel
에 의해 선택 될 수있는 신호를 내고 자식 만 채우며 QTableView
으로 표시됩니다.
동일한 에이전트가 두 모델을 제공하기 때문에 하나의 모델에 의한 기본 데이터의 변경 사항이 다른 모델에 반영되어야한다는 점에서 데이터 무결성을 유지할 수 있어야합니다. 이 솔루션은 제 응용 프로그램에서 정말 잘 작동합니다. 희망이 당신을 위해 너무 일합니다!
별도의 답을 쓰는 대신 답변에 답글을 달아주세요. 고마워. – NameRakes
내 의견은 또 다른 대답이 아니 었습니다. 그것은 아직 논의되지 않은 새로운 대답이었습니다. – sliptonic
알았어. 트리보기에서 선택한 항목 아래에있는 자식 만 테이블보기로 매핑하고 표시하는 전략은 무엇입니까? – NameRakes