boundingRect für graphicItems -> abhängig von zoom
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
Dann speicher doch yScale global... der wird doch jeden paintEvent geupdatet...
Das war auch so gedacht:
Du speicherst für die Views den entsprechenden zoom Faktor und rufst ihn dann in der boundingRect funktion ab, weil du ja weisst in welchem view dud dich gerade befindest.
Wenn du aber den einen eigenen View implementierst, kannst du den zoomFaktor auch global speichern und dann per funktion abfragen.
Das war auch so gedacht:
Du speicherst für die Views den entsprechenden zoom Faktor und rufst ihn dann in der boundingRect funktion ab, weil du ja weisst in welchem view dud dich gerade befindest.
Wenn du aber den einen eigenen View implementierst, kannst du den zoomFaktor auch global speichern und dann per funktion abfragen.
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
hab mal wieder alles unnötige rausgeworfen.
varRect wird von seiner (0,0)-position nach rechts gezeichnet, fixRect nach links.
beim stauchen in y-richtung (linke view) passiert nix schlimmes, weil ja alles im boundingRect bleibt. es wird zwar nich korrekt berechnet aber schadet nicht.
wenn ich aber in y-richtung strecke (rechte view) bleiben natürlich reste weil das boundingRect zu klein ist.

wenn noch fragen sind einfach melden...
mal wieder ein dankeeeeee
varRect wird von seiner (0,0)-position nach rechts gezeichnet, fixRect nach links.
beim stauchen in y-richtung (linke view) passiert nix schlimmes, weil ja alles im boundingRect bleibt. es wird zwar nich korrekt berechnet aber schadet nicht.
wenn ich aber in y-richtung strecke (rechte view) bleiben natürlich reste weil das boundingRect zu klein ist.

wenn noch fragen sind einfach melden...
mal wieder ein dankeeeeee
- Dateianhänge
-
- fixrect.zip
- (10.57 KiB) 234-mal heruntergeladen
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
hmmm gefällt mir nich so wirklich, deine lösung. die aktualisierung von par is ja recht wahllos und trifft auch nich immer:
wenn ich rechteck 2 auf view2 von oben nach unten über rechteck1 ziehe ist zB der falsche scale-faktor gespeichert...
wäre ja zu schön gewesen
danke für deine mühen aber ich fürchte in paint() was speichern und in boundingRect() abrufen is zu unzuverlässig...
wenn ich rechteck 2 auf view2 von oben nach unten über rechteck1 ziehe ist zB der falsche scale-faktor gespeichert...
wäre ja zu schön gewesen
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
das erwarte ich auch nich... den anstoss haste mir ja schon vor zwei wochen gegeben, hatte ich da auch verstanden und ich hab gesagt er funktioniert so nich... jetzt haste mir den beweis dafür programmiert 
hatte mir eben ne möglichkeit gewünscht in der es zuverlässig funktioniert.
aber finds prima dass du versuchst mir zu helfen.
da das thema ItemIgnoresTransformations auch mit Qt4.3 noch sehr neu is machen wir auch den ersten google-treffer zum thema "boundingrect itemignorestransformations" und "boundingrect scale"
hatte mir eben ne möglichkeit gewünscht in der es zuverlässig funktioniert.
aber finds prima dass du versuchst mir zu helfen.
da das thema ItemIgnoresTransformations auch mit Qt4.3 noch sehr neu is machen wir auch den ersten google-treffer zum thema "boundingrect itemignorestransformations" und "boundingrect scale"
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
bin auch unter linux (suse 10.0) unterwegs. und um das zoomFaktor-update im hash geht es ja auch nich, sondern um das setzen des aktuellen view-widgets.
Code: Alles auswählen
par = qobject_cast<QGraphicsView*>(widget);-
CaptnChaos
- Beiträge: 605
- Registriert: 28. Juni 2007 15:01
- Kontaktdaten:
ja. das mein ich ja... das müsste iwie direkt in bounding rect gemacht werden....
oder anders übergeben werden. da muss ich mir was ausdenken, bzw wenn du eine lösung hast, wüsste ich die auch gern.
naja, hab en bisschen geflunkert. hab nur linux unterstützung unter bsd aktiv, aber das sollte normal keinen unterschied machen....
oder anders übergeben werden. da muss ich mir was ausdenken, bzw wenn du eine lösung hast, wüsste ich die auch gern.
naja, hab en bisschen geflunkert. hab nur linux unterstützung unter bsd aktiv, aber das sollte normal keinen unterschied machen....

entweder unseren hirnen entspringt noch eine tolle idee oder trolltech sollte da in Qt4.4 nachlegen...
- Dateianhänge
-
- fixrect.tar.gz
- (13.21 KiB) 193-mal heruntergeladen