[PyQt] QTreeView (and QTreeWidget) horizontal scroll bar jumping
Doug Bell
dougb at bellz.org
Tue Apr 8 03:04:39 BST 2014
Thomi Richards wrote:
> Hi,
>
> On 7 April 2014 14:21, Doug Bell <dougb at bellz.org> wrote:
>
> > I fixed this problem in my TreeLine program by overriding the
> > QTreeView::scrollTo method as shown below:
> >
>
> Thanks - that certainly fixes that problem.
>
> Now I'm trying to get it so that navigating (with the arrow keys) to items
> in the tree view that are either off to the RHS of the currently shown
> viewport, or off the bottom of the viewport causes the scroll bars to shift
> so the item is in view.
>
> I tried hooking the model's selectionChanged signal up to the new patched
> scrollTo method, but I'm pretty sure that's already called - in any case,
> it made no difference.
>
> Any ideas?
My guess is that you need to compare the horizontal coordinates of the
QTreeView::visualRect() for the item with the size of the
QAbstractScrollArea::viewport(). If the rectangle is not within the
viewport, change the horizPos in the scrollTo() function by a suitable
delta.
-Doug
More information about the PyQt
mailing list