On 26/05/2014 3:21 p.m., Christian Gagneraud wrote: > Hi there, > > I am trying to implement an "oversight" view, that is a small view > that always display the full scene (plus a little margin) and draw a > red rectangle that correspond to the scene rect that is displayed on > the screen by the "main" view, my feeling is that I have to use the > viewport of the qgraphicsview, but I can't find out how to achieve > this. I tried naively to use mainview->sceneRect() but it return the > scene rect that is accessible within the view (including parts that > will be displayed when moving the scroll bars). > > As usual, as I'm writing this email and at the same time keep reading > the doc and testing stuff, I think I found it!;) > > QTransform t = mMainView->viewportTransform(); > QRectF r = mMainView->viewport()->rect(); > r = t.transposed().mapRect(r);
Correcting myself, it's not t.transposed() but t.inverted() > > It seems to do the job, not sure it's pixel perfect, but it seems > good enough for me. If anyone has comment or advice on doing this > kind of things, I'm still interesting! > > My next step will be to forbid scene interaction within the > "oversight" view, but still allowed the user to resize the main view > area (the red rectangle) within the oversight view. Still working on that one, I found some forum post talking about connecting to the scrollbars of the view, .... I'm a bit doubtful about that one. Chris > > Cheers, Chris _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest