GraphicsSceneItem Größe an GraphicsView anpassen



  • Hallo,

    ich bin auf der Suche nach einer Möglichkeit die Größe von mehreren QGraphicsSceneItem an die Größe der QGraphicsView, auf welcher diese Elemente angezeigt werden, anzupassen.
    Konkret heißt das, ich habe mehrere Quardate. Sagen wir einfach 3 zur einfach halber. Diese haben jeweils die Breite X, und die View hat die Breite Y.
    Ich will das X jetzt zu "abrunden((Y - offset)/3)" bestimmen, wobei offset sagen wir 10 pixel ist.
    Wenn jetzt aber, sagen wir durch einen Knopfdruck ein weiteres Quadrat hinzukommt, will ich X auf "abrunden((Y - offset)/4" setzten.

    Ausserdem soll X angepasst werden, falls sich Y durch vergrößern, verkleinern des Fensters ändert.

    Hat da jemand eine Idee, wie ich das machen kann??


  • Moderators

    QGraphicsView ableiten und resizeEvent() überladen.
    Darin dann per setSceneRect() die Scene-Größe setzen und alle deine items manuell layouten.
    QGraphicsItem::setPos() um die Position zu setzen.
    Ich nehme mal an du verwendest QGraphicsRectItems?



Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.