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
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
A voir également:
- Bitmap en Qt
- Bitmap logiciel - Télécharger - Photo & Graphisme
- Qt sdk - Télécharger - Langages
- Qt tab bar - Télécharger - Personnalisation
- Qt c'est quoi ✓ - Forum Programmation
- Fichier bitmap non valide - Forum Logiciels
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
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:
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.
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
12 mai 2010 à 01:34
alors j'ai deja mon projet Qt .. dois je crée une classe en plus et y mettre cela ?
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
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.
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.