Alles rund um die Programmierung mit Qt
nici
Beiträge: 246 Registriert: 29. Oktober 2008 12:50
Beitrag
von nici » 16. Dezember 2008 13:53
ä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 » 16. Dezember 2008 14:00
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 » 16. Dezember 2008 14:02
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 » 16. Dezember 2008 14:09
Ja dann programmier das doch
nici
Beiträge: 246 Registriert: 29. Oktober 2008 12:50
Beitrag
von nici » 16. Dezember 2008 14:10
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 » 16. Dezember 2008 14:57
width und height müssten schon die Werte deiner Spinbox seien......
nici
Beiträge: 246 Registriert: 29. Oktober 2008 12:50
Beitrag
von nici » 16. Dezember 2008 15:35
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 » 16. Dezember 2008 15:37
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 » 17. Dezember 2008 08:36
Wie wärs wenn du dich vorm Programmieren nochmal mit Mathe beschäftigst?
nici
Beiträge: 246 Registriert: 29. Oktober 2008 12:50
Beitrag
von nici » 17. Dezember 2008 09:51
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 » 17. Dezember 2008 12:08
hmm es geht doch nicht
Hmm mir fällt nichts ein ^^
Ginsengelf
Beiträge: 79 Registriert: 2. Mai 2007 10:21
Beitrag
von Ginsengelf » 17. Dezember 2008 12:14
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 » 17. Dezember 2008 12:31
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 » 17. Dezember 2008 12:39
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 » 17. Dezember 2008 12:44
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 ^^