The white area is handled via QGraphicsScene/QGraphicsView to display a big diagram. Only part of it is displayed and user navigate with scroll bars. The red part (QSlider) has a fixed width. All of this works as describe using Qt example code "border layout":http://qt-project.org/doc/qt-4.8/layouts-borderlayout.html

My problem : the red area contains a long list of text, the same height as the diagram shown in white area and only part of it is displayed. I've succeed to send wheel events from white area to the red one and inversely, but I can't make the content displayed in red area to be changed. I would like to display parts that are hidden when user scroll and no matter which function (setValue(), setSliderPosition(), scroll()...) I use, nothing changes. The only result that I get is when using move(). Then the red area start recovering the green one and that's obviously not what I want.

If anyone know how to fix this, I would really appreciate.

Please note, that despite the image was made with designer, all of the window is constructed with code, so please don't help me inviting me to use it.

In fact as you pointed, the red area has nothing to do with a QSlider. I have no idea why I use that and worse, how I did not see that this was the problem. I manage to achieve what I want with a QScrollArea.

The view reacted well to user interaction, my problem was that I need to have some area always displayed on screen. It was previously in the view but as the diagram shown inside it became very large and can now be scrolled horizontally, I had to create another area for that content which scroll only vertically in conjunction with the view.