Como pode deixar o QT gráfico ver a estrutura suportar camadas personalizadas

StackOverflow https://stackoverflow.com/questions/3031013

  •  27-09-2019
  •  | 
  •  

Pergunta

Os quadros de exibição de gráficos do QT são muito poderosos, mas não encontrei uma maneira de suportar camadas personalizadas. No QT, existe um QGraphicsScene :: ItemLayer, mas o QGraphicsScene renderiza todos os itens nessa camada. Quero gerenciar os itens com várias camadas, assim como o Illustrator e o CorelDraw. Todo o item somente na camada atual receberá o evento, será selecionado ou obterá o foco principal etc. Outras camadas (não camada atual) não receberão todo o evento de cena. A maioria dos motivos do uso de camadas é que eu poderia catalogar um grande número de itens com mais clareza. E sem precisar de eventos de transferência para todos os itens de camadas, acho que as estruturas gráficas serão mais eficientes. A última pergunta, o QGraphicsView suporta cenas gráficas empilhadas ao servidor de renderização ao mesmo tempo? Se o suporte, acho que as "camadas personalizadas" podem ser resolvidas dessa maneira. Muito obrigado!

Foi útil?

Solução

Eu posso ver duas maneiras de alcançar as camadas de itens:

  • Você pode usar QGraphicsItemGrouppara agrupar itens.
  • Ou colocar itens da mesma "camada" em um pai QGraphicsItem que não traça nada.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top