Comment dois-je utiliser un QGraphicsScene avec les mises en page et des widgets

Je suis la création de certaines données graphiques de l'affichage du widget en Qt4 et j'ai été tenté d'utiliser les QGraphicsScene pour, créer QGraphicsItems pour les éléments de données etc.

Cependant, je voulais ajouter un peu de la couche de contrôle (par exemple. les barres de défilement, de zoom+autres boutons - je veux le faire dans un style similaire comme par exemple. Google Maps, qui est, les données sont affichées partout dans le widget, et les boutons seront montrées au-dessus d'eux) pour le widget. J'ai donc pensé qu'il pourrait être possible de les ajouter à la scène (peut-être comme un enfant d'un QGraphicsGroupItem qui sont affichés sur les données). Mais je tiens à aller de l' & redimensionner quand je redimensionner l'ensemble de widget, donc je devrais utiliser un QGraphicsLayout de leur gestion. Mais à ce stade, j'ai découvert les choses sont assez compliquées.

Le problème est que lors de l'utilisation de QGraphicsLayout, les contraintes suivantes tenir:

  1. Seulement un QGraphicsWidget peut être géré par une mise en page
  2. QGraphicsLayout ne peut être utilisé pour gérer des enfants d'un QGraphicsWidget

Ce qui signifie que je dois créer mon contrôles QGraphicsWidgets, ajouter un haut niveau de QGraphicsWidget les données du widget, et de gérer la taille de ce haut niveau de widget moi-même.

Donc je veux vous demander:

  1. Ne serait pas une approche classique (ie. utiliser le bon vieux widgets pour tous les contrôles, et l'utilisation QGraphicsScene seulement pour afficher les données) être plus raisonnable?
  2. Est-il un avantage dans l'utilisation de QGraphicsScene dans ce cas (performance ou la simplicité...)?
  3. Comment dois-je utiliser QGraphicsScene à exploiter ses points forts?

OriginalL'auteur jpalecek | 2009-06-24