Bonjour à tous,

J'essaie de m'initier à Qt, ici en essayant de faire une application 2D...
Voici le bout de code qui me pose problème :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
#include <QApplication>
#include <QtGui>
 
int main(int argc, char *argv[])
{
	QApplication app(argc, argv);
 
	QGraphicsScene scene;
	QGraphicsItem *item;
	QPixmap image;
 
	image.load("bonhomme.png", 0, Qt::AutoColor);
	item = scene.addPixmap(image);
	item->setPos(50,50);
 
	QGraphicsView vue(&scene);
	vue.setFixedSize(250, 250);
	vue.setWindowTitle("J'utilise QGraphicsItem !");
	vue.show();
 
	return app.exec();
}
et ce code est censé afficher une image, et la décaler de de son origine (qui est censée se trouver au centre de l'écran par défaut).

Le seul inconvénient de ce code, et bien c'est qu'il ne décale pas l'image
Regardez :


Après divers tests, je me suis rendu comtpe que mon image était bien déplacée... mais que mon origine aussi !

La preuve avec ce code-ci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
//mêmes trucs qu'avant
//...
 
image.load("bonhomme.png", 0, Qt::AutoColor);
item = scene.addPixmap(image);
image2.load("bonhomme.png", 0, Qt::AutoColor);
item2 = scene.addPixmap(image2);
item->setPos(0,0);
item2->setPos(100,100);
//Donc en gros, je ne bouge pas la première, mais je déplace la seconde
 
//...
//mêmes trucs qu'avant
Ce qui donne pour résultat :

Et donc, puisque la première image (en haut à gauche je pense) n'a pas été bougée (par le code), on peut en conclure que c'est l'origine qui a été bougée (par la réalité)... De toute manière l'écart entre les 2 images est bien de 100,100 mais l'origine c'est déplacée de (-100/2 , -100/2)...

Je précise qu'il n'y a pas que les images qui sont concernées, mais tous les objets "de base" aussi, rectangles, polygones, lignes, text...

Comment est-ce que je peux "fixer" l'origine ? Et premièrement, comment se fait-il qu'elle bouge ?????

Le pire, mais vraiment le truc le plus grave () c'est que en essayant ce code sur une autre machine, et bien... Ca marche nickel...
WTF ? Un problème de configuration de Qt ? Je précise que j'utilise QtCreator, sur une plateforme Windows... la machine sur laquelle ça marche aussi...
Je sèche :/

Merci d'avance à tous ceux qui voudront bien m'éclairer