Bitmap en Qt
shuya89
Messages postés
483
Statut
Membre
-
loupius Messages postés 789 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
Cordialement Shuya
A voir également:
- Bitmap en Qt
- Qt sdk - Télécharger - Langages
- Bitmap logiciel - Télécharger - Photo & Graphisme
- Qt web - Télécharger - Navigateurs
- Fichier bitmap - Forum Windows
- Qt dark mode - Forum C++
2 réponses
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:
Bonne continuation.
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.
alors j'ai deja mon projet Qt .. dois je crée une classe en plus et y mettre cela ?
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.
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.