Pergunta

I têm um modelo em 2D, onde cada linha representa um quadro numa vídeo, e cada coluna representa um objecto. O objeto pode ter diferentes estados em cada quadro, e este é armazenado no modelo. Então eu tenho um QTableView que mostra esses dados. O modelo tem dados de cabeçalho, de modo que cada linha tem um cabeçalho como "trama k" e cada coluna tem um cabeçalho como "objeto n". Esta tabela é editável. Mas eu quero o usuário para editá-lo de outra maneira. A outra forma é um gráfico vista que mostra um quadro único. Abaixo da vista de gráficos é uma lista (orientado horizontalmente) que representa cada quadro. Desta forma, o usuário pode clicar em um quadro na lista e os gráficos ver agora exibe esse quadro.

O problema é que a lista mostra a primeira coluna de cada linha no modelo. O que eu quero fazer é mostrar o cabeçalho de cada linha em vez disso (assim que a lista diz "frame 1, quadro 2, etc"). Existe uma maneira de fazer isso?

Foi útil?

Solução

Duas soluções possíveis:

  1. Tente usar um modelo de proxy (uma subclasse de QAbstractProxyModel) que acessa cabeçalhos de linha como colunas em uma única linha. Não é trivial, pois o modelo de proxy é exibido como dados que o modelo original considera como cabeçalho.

  2. Apresentar um segundo vista 2D do seu modelo, mas esconder tudo, exceto para os cabeçalhos das colunas. Desde que seus quadros são linhas, você precisará de um modelo de procuração para a transposição entre linhas e colunas.

IMPORTANTE:. Eu na verdade não implementar qualquer uma das soluções

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top