Bild * und &

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Nvidia
Beiträge: 238
Registriert: 22. Februar 2010 21:23

Bild * und &

Beitrag 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
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Bild * und &

Beitrag 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.
Zuletzt geändert von franzf am 28. Juni 2010 19:25, insgesamt 1-mal geändert.
Nvidia
Beiträge: 238
Registriert: 22. Februar 2010 21:23

Beitrag von Nvidia »

ich will aber das Bild haben und keinen Zeiger
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag 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.
Nvidia
Beiträge: 238
Registriert: 22. Februar 2010 21:23

Beitrag von Nvidia »

steht das irgentwo beschrieben was das mti diesem * & &** auf sich hat?
ireas
Beiträge: 13
Registriert: 24. Juni 2010 13:50

Beitrag 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.
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag 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.
Linux, das längste Text-Adventure aller Zeiten
Antworten