Seite 1 von 1

Bild * und &

Verfasst: 28. Juni 2010 18:01
von Nvidia
Also ich hab ein Bild und möchte das drehen.

Code: Alles auswählen

QPixmap map(":test/Unbenannt-1.png");
label->setPixmap(map);
So nun möchte ich das Bild drehen, also

Code: Alles auswählen

label->setPixmap(label->pixmap() ... ) //drehen usw.
Nur leider kommt das irgentwie anders raus, als er reingekommen ist.
Als Eingabe will er ein Pixmap *, aber als ausgabe krieg ich immer ein Pixmap(Ohne *).
Warum ist das so? und wie krieg ich das so, dass ich es wieder einfügen kann, wenn es gedreht ist?
nvidia

Re: Bild * und &

Verfasst: 28. Juni 2010 19:22
von franzf
Nvidia hat geschrieben:Nur leider kommt das irgentwie anders raus, als er reingekommen ist.
Als Eingabe will er ein Pixmap *, aber als ausgabe krieg ich immer ein Pixmap(Ohne *).
Warum ist das so? und wie krieg ich das so, dass ich es wieder einfügen kann, wenn es gedreht ist?
nvidia
Ein Blick in die Doku... Was liefert QLabel::pixmap()? Einen Zeiger. Deshalb, weil durch einen NULL-Zeiger signalisiert werden kann, dass noch kein pixmap gesetzt wurde. Und auf Zeiger greift man ja bekanntermaßen anders zu ("->", "*") als auf Values/Referenzen (".").

// edit: Was ist eigentlich dein Problem? Funktioniert dein Code nicht? Willst du nur wissen, warum der getter einen Zeiger liefert, der setter aber mit ner const QPixmap& arbeitet? Oder ganz was anderes? Sag mal genauer, am besten mit ordentlichem Code ohne diese Auslassungen.

Verfasst: 28. Juni 2010 19:23
von Nvidia
ich will aber das Bild haben und keinen Zeiger

Verfasst: 28. Juni 2010 19:26
von franzf
Nvidia hat geschrieben:ich will aber das Bild haben und keinen Zeiger
Das ist doch wurscht! Dann dereferenzier den Zeiger mit "*", das gibt dir das Objekt ("Bild") hinter dem Zeiger.

Verfasst: 28. Juni 2010 19:40
von Nvidia
steht das irgentwo beschrieben was das mti diesem * & &** auf sich hat?

Verfasst: 28. Juni 2010 19:53
von ireas
Nvidia hat geschrieben:steht das irgentwo beschrieben was das mti diesem * & &** auf sich hat?
Je nach dem, was dein Problem ist, könnte dir das oder das weiterhelfen.

Verfasst: 29. Juni 2010 10:18
von RavenIV
Nvidia hat geschrieben:steht das irgentwo beschrieben was das mti diesem * & &** auf sich hat?
Ja, das steht in einem Buch zu C++ drin.
Das sind absolute Grundlagen.