Label skalieren??

Alles rund um die Programmierung mit Qt
nici
Beiträge: 246
Registriert: 29. Oktober 2008 12:50

Beitrag von nici »

ähm ich glaube ich hab da ein Problem. Ich habe gerade ein Bild geladen das ziemlich groß war und den Rahmen gesprengt hat. Man konnte aber nicht runter scrollen (also kein Scrollbalken) und das Layout vom zweiten Tab wurde zerschossen. Hat das wirklich nichts mit dem Label zu tun??
Hmm mir fällt nichts ein ^^
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

nici hat geschrieben:ja ne, die skalierung möchte ich dann mit dem slider oder der spinbox machen.
Wieso skalierst du da dann, wenn du da gar nicht skalieren willst?
nici
Beiträge: 246
Registriert: 29. Oktober 2008 12:50

Beitrag von nici »

ich möchte das Label anhand vom slider oder der spinBox skalieren können. Nichts weiter.
Hmm mir fällt nichts ein ^^
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

Ja dann programmier das doch ;)
nici
Beiträge: 246
Registriert: 29. Oktober 2008 12:50

Beitrag von nici »

will ich ja schon die ganze Zeit, aber ihr bringt mich dann immer durcheinander, sowie jetzt äääää.^^
Hmm mir fällt nichts ein ^^
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

width und height müssten schon die Werte deiner Spinbox seien......
nici
Beiträge: 246
Registriert: 29. Oktober 2008 12:50

Beitrag von nici »

ja das mit scalieren hab ich jetzt hinbekommen. Nur ist da noch das Problem das wenn ich das Bild scaliere, sich die Form in ein Viereck ändert. Wie kann ich das in % umwandeln??
Hmm mir fällt nichts ein ^^
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

Meine Güte ist das wirklich so schwer, die einfachsten Zusammenhänge zu verstehen? Deine scaled-Methode hat die Parameter
int width
int height
(uvm)

Auf deutsch: Höhe, Breite.

Für beide übergibst du den Wert deiner Spinbox (also 2x der gleiche Wert), und nun wunderst du dich dass es ein Quadrat wird?
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

Wie wärs wenn du dich vorm Programmieren nochmal mit Mathe beschäftigst? :wink:
nici
Beiträge: 246
Registriert: 29. Oktober 2008 12:50

Beitrag von nici »

ja ja ihr habt ja recht, müsst aber nicht immer sofort so böse sein.

ich mach einfach einen Dreisatz dann wird es schon gehen.

Code: Alles auswählen

void TabEins::resizeImage(int i){
//i durch 100 mal die alte breite/bzwhöhe
	_mPix.getWidth()*i/100;
	_mPix.getHeight()*i/100;
	imageLabel->setPixmap(_mPix.scaled(i,i));	
}
Hmm mir fällt nichts ein ^^
nici
Beiträge: 246
Registriert: 29. Oktober 2008 12:50

Beitrag von nici »

hmm es geht doch nicht :(
Hmm mir fällt nichts ein ^^
Ginsengelf
Beiträge: 79
Registriert: 2. Mai 2007 10:21

Beitrag von Ginsengelf »

Du solltest das Ergebnis deiner Prozentberechnung auch benutzen, dann wird die Funktion schlagartig besser werden...
nici
Beiträge: 246
Registriert: 29. Oktober 2008 12:50

Beitrag von nici »

ausser dass es bei Qixmap kein getWidht und so gibt, halt nur width und heigt
Hää was meinst du damit, also das Ergebnis der Rechnung auch nutzten, wie??
Hmm mir fällt nichts ein ^^
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Code: Alles auswählen

int newWidth = _mPix.getWidth()*i/100;
int newHeight = _mPix.getHeight()*i/100;
imageLabel->setPixmap(_mPix.scaled(newWidth, newHeight));
Und wenn du scrollen willst, brauchst du ne QScrollArea:

Code: Alles auswählen

QScrollArea imageScroll;
imageScroll.setWidget(imageLabel);
Oder eben über den Designer.
Dann hast du automatisch Scrollbars, wenn das Bild zu groß wird.

Grüße
Franz
nici
Beiträge: 246
Registriert: 29. Oktober 2008 12:50

Beitrag von nici »

wow, cool danke, danke, danke.
@franzf
du bist mir mit der ScrollBat zuvor gekommen, denn das wäre meine nächste Frage gewesen, denn wenn ich ein Bild lade, dass zu groß ist, dann kann man nicht scrollen.
Über den Designer?? da hab ich irgendwie nix gefunden.
Hmm mir fällt nichts ein ^^
Antworten