2008-09-19 2 views
0

각 행이 비디오의 프레임을 나타내고 각 열이 객체를 나타내는 2D 모델이 있습니다. 객체는 각 프레임마다 다른 상태를 가질 수 있으며 이는 모델에 저장됩니다. 그런 다음이 데이터를 표시하는 QTableView가 있습니다. 모델에는 헤더 데이터가 있으므로 각 행에는 "프레임 k"와 같은 헤더가 있고 각 열에는 "객체 n"과 같은 헤더가 있습니다. 이 표는 편집 할 수 있습니다. 그러나 나는 사용자가 그것을 다른 방법으로 편집하기를 원한다. 다른 방법은 단일 프레임을 보여주는 그래픽보기입니다. 그래픽보기 아래에는 각 프레임을 나타내는 목록 (가로 방향)이 있습니다. 사용자가 목록에서 프레임을 클릭하면 그래픽보기에서 해당 프레임을 표시합니다.Qt의 단일 모델로 구성된 테이블 및 목록보기

문제는 목록에 모델의 각 행의 첫 번째 열이 표시된다는 것입니다. 내가 원하는 것은 대신 각 행의 머리글을 표시하는 것입니다 (목록에 "프레임 1, 프레임 2 등"이 나와 있습니다). 이것을 할 수있는 방법이 있습니까?

답변

1

개의 가능한 해결책 :

  1. 시도는 단일 행 열로 행 헤더 액세스 프록시 모델 (QAbstractProxyModel의 서브 클래스)를 사용한다. 원본 모델이 헤더로 간주하는 데이터로 프록시 모델이 표시되므로 사소하지 않습니다.

  2. 모델의 두 번째 2D보기를 표시하지만 열 머리글을 제외한 모든 것을 숨 깁니다. 프레임이 행이기 때문에 행과 열 사이에서 조 변경하려면 프록시 모델이 필요합니다.

실례 : 실제로 솔루션을 구현하지 않았습니다.