QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsvscrollarea.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsvscrollarea.cpp
3 ------------------------
4 begin : September 2017
5 copyright : (C) 2017 Sandro Mani
6 email : manisandro at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#include "qgsvscrollarea.h"
19#include <QEvent>
20#include <QScrollBar>
21
23 : QgsScrollArea( parent )
24{
25 setWidgetResizable( true );
26 setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
27 setVerticalScrollBarPolicy( Qt::ScrollBarAsNeeded );
28}
29
30bool QgsVScrollArea::eventFilter( QObject *o, QEvent *e )
31{
32 // This works because QScrollArea::setWidget installs an eventFilter on the widget
33 if ( o && o == widget() && e->type() == QEvent::Resize )
34 setMinimumWidth( widget()->minimumSizeHint().width() + verticalScrollBar()->width() );
35 return QgsScrollArea::eventFilter( o, e );
36}
A QScrollArea subclass with improved scrolling behavior.
Definition: qgsscrollarea.h:41
bool eventFilter(QObject *o, QEvent *e) override
QgsVScrollArea(QWidget *parent=nullptr)
QgsVScrollArea.