2010-06-13 6 views
2

Les frameworks de vue graphique de Qt sont très puissants, mais je n'ai pas trouvé de moyen de prendre en charge les couches personnalisées. Dans Qt, il existe une QGraphicsScene :: ItemLayer, mais QGraphicsScene affiche tous les éléments dans cette couche. Je veux gérer les éléments avec plusieurs couches, Tout comme Illustrator et CorelDraw. tous les éléments seulement dans le calque courant recevront l'événement, seront sélectionnés ou obtiendront le foyer principal etc. D'autres couches (couche non courante) ne recevront pas tous l'événement de scène. Le plus de raisons d'utiliser des couches est que je pourrais cataloguer un grand nombre d'éléments plus clairement. Et sans avoir besoin d'événements de transfert à tous les éléments des couches, je pense que les frameworks graphiques seront plus efficaces. Dernière question, est-ce que QGraphicsView prend en charge le rendu des scènes graphiques empilées du serveur en même temps? Si support, je pense que les "couches personnalisées" peuvent être résolues de cette manière. Merci beaucoup!Comment laisser Qt Graphics View Framework prendre en charge les couches personnalisées

Répondre

4

Je peux voir 2 façons de réaliser la superposition d'éléments:

  • Vous pouvez utiliser QGraphicsItemGroup aux éléments du groupe.
  • Ou mettre des éléments de même "couche" dans un parent QGraphicsItem qui ne dessine rien.
+0

Merci beaucoup, je vais essayer la classe QGraphicsItemGroup. – jnblue

+0

Pas de problème. Si cela fonctionne pour vous, cela sera apprécié si vous acceptez ou votez cette réponse. :) –