Bitmap en Qt

Fermé
shuya89 Messages postés 470 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 28 novembre 2014 - 11 mai 2010 à 15:08
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 12 mai 2010 à 23:32
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 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
Modifié par loupius le 12/05/2010 à 00:28
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 470 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 28 novembre 2014 39
12 mai 2010 à 01:34
alors j'ai deja mon projet Qt .. dois je crée une classe en plus et y mettre cela ?
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
12 mai 2010 à 23:32
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