문제

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

문제는 목록에 모델의 각 행의 첫 번째 열이 표시된다는 것입니다.내가 원하는 것은 대신 각 행의 헤더를 표시하는 것입니다(따라서 목록에는 "프레임 1, 프레임 2 등"이라고 표시됨).이를 수행할 수 있는 방법이 있습니까?

도움이 되었습니까?

해결책

두 가지 가능한 솔루션:

  1. 행 헤더를 단일 행의 열로 액세스하는 프록시 모델(QAbstractProxyModel의 하위 클래스)을 사용해 보십시오.원본 모델이 헤더로 간주하는 데이터를 프록시 모델이 표시하기 때문에 쉽지 않습니다.

  2. 모델의 두 번째 2D 보기를 표시하지만 열 머리글을 제외한 모든 항목을 숨깁니다.프레임은 행이므로 행과 열 사이를 바꾸려면 프록시 모델이 필요합니다.

부인 성명:실제로 어떤 솔루션도 구현하지 않았습니다.

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