Bitmap en Qt

shuya89 Messages postés 483 Statut Membre -  
loupius Messages postés 789 Statut Membre -
bonjour , voila j'ai un petit soucis , j'aimerai pouvoir , sur une interface Qt afficher une carte , et sur cette carte afficher la position d'un robot ,je ne vois pas du tout comment faire , si quelqu'un peut m'aider , merci d'avance .

Cordialement Shuya
A voir également:

2 réponses

loupius Messages postés 789 Statut Membre 148
 
Simple (quand on a compris) et pas facile à mettre en oeuvre la première fois.
Pour dessiner il faut:
1) d'abord définir un espace, un simple 'QWidget' suffit; donc définir une classe dérivée de QWidget,
2) redéfinir la méthode 'paint' afin de pouvoir dessiner ce que l'on désire.
3) utiliser des 'update()' pour forcer le widget à se redessiner.
Un exemple minimaliste:
class Dessin : public QWidget 
{ 
  Q_OBJECT 
  public: 
    Dessin() { _x = _y = _echelle=1; } 
    void setEchelle(int echelle) { _echelle = echelle; update(); }
    void setPoint(int x, int y) { _x = x; _y = y; update(); }
  private:
    int _echelle, _x, _y;
    void paintEvent(QPaintEvent*); 
} 

void Dessin::paintEvent(QPaintEvent*) 
{ 
  QPainter p(this); 
  ... 
  On dessine à coup de: 
    p.setBrush(...); 
    p.setPen(...); 
    p.drawPoint(...); 
    p.drawLine(...); 
    ... et autres (voir la doc)
    p.drawPoint(_x*_echelle, _y*_echelle);
}
Et surtout, ne te décourage pas, ça marche rarement du premier coup ...
Bonne continuation.
0
shuya89 Messages postés 483 Statut Membre 39
 
alors j'ai deja mon projet Qt .. dois je crée une classe en plus et y mettre cela ?
0
loupius Messages postés 789 Statut Membre 148
 
Désolé, mais je ne comprends pas vraiment ton post. Je ne vois pas où se situe le problème.
j'ai deja mon projet Qt ??? ??? ???
dois je crée une classe en plus Le principe de Qt est d'offrir des classes (il y en a plus de 500) généralistes et de les dériver pour les adapter au besoin précis de l'utilisateur. Donc en dériver une de plus dans un 'projet' ne doit pas poser de problème.
Si tu consultes la doc, tu t'apercevras que la méthode 'paintEvent' est virtuelle donc tu es bien obligée de dériver la classe qui la contient si tu veux utiliser cette méthode !
D'autre part ce que j'ai donné en exemple... n'est qu'un exemple. C'est à toi de l'adapter pour répondre à ta problématique.
Bonne continuation.
0