Qt GUI Development - Affichage d'une grille 2D à l'aide de QGraphicsView
Je suis nouveau au développement de Qt donc je l'ai tentent à la recherche d'une solution à une interface utilisateur j'ai besoin de conception. Mon projet est de simuler les joueurs dans un jeu en ligne se déplaçant autour d'une carte du monde. Pour représenter la carte j'ai besoin d'afficher une grille 2D, chaque espace de la grille représente une région de la carte. Je puis avoir besoin de l'affichage de la position de chaque joueur dans le jeu. Le back-end est entièrement de travail, avec le plan de mise en œuvre comme un tableau 2D. Je suis juste bloqué sur l'affichage de la grille.
La recherche que j'ai fait m'a amené à croire un QGraphicsView est la meilleure façon de le faire, mais je n'arrive pas à trouver un tutoriel de ce que j'ai besoin. Si quelqu'un a des conseils sur la façon de mettre en œuvre ce qu'il serait bien apprécié.
Merci, Dan
source d'informationauteur dlwells02
Vous devez vous connecter pour publier un commentaire.
Une Grille 2D n'est rien de plus qu'un ensemble de lignes horizontales et verticales. Supposons que vous avez un 500x500 carte et que vous voulez dessiner une grille où la distance entre les lignes dans les deux directions est de 50. L'exemple de code suivant montre comment vous pouvez y parvenir.
Vous devriez vérifier la
QGraphicsView
et laQGraphicsScene
de la documentation ainsi que le exemples. Vous pouvez aussi regarder la vue graphique des vidéos de formation ou certains de la vue graphique vidéos liées de l'intervalle Qt developer days.Eh bien, si vous avez une constante de la taille de la grille ou même un nombre limité de tailles de grille ce que j'aime à faire est de dessiner une grille de bloc dans gimp ou tout autre programme puis le définir comme arrière-plan de la brosse (de dessiner bas et à droite du bloc) qt de renouveler l'image et vous donnera une grille. Je pense que c'est bon pour la performance.
C'est la grille de l'image que j'ai utilisé dans un de mes programmes, c'est de 10x10 pixels.
Alors appel
QGraphicsScene
setBackgroundBrush comme les suivantes:Les natifs de façon de le faire:
Désolé par PyQt...