- Qt 6.9
- Qt Widgets
- C++ Classes
- QSizeGrip
- Qt 6.9.1 Reference Documentation

# QSizeGrip Class

The QSizeGrip class provides a resize handle for resizing top-level windows. More...

Header: | `#include <QSizeGrip>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Widgets)` `target_link_libraries(mytarget PRIVATE Qt6::Widgets)`
qmake: | `QT += widgets`
Inherits: | QWidget

- List of all members, including inherited members

## Public Functions

| QSizeGrip(QWidget *parent)
virtual | ~QSizeGrip()

## Reimplemented Public Functions

virtual void | setVisible(bool visible) override
virtual QSize | sizeHint() const override

## Reimplemented Protected Functions

virtual bool | event(QEvent *event) override
virtual bool | eventFilter(QObject *o, QEvent *e) override
virtual void | hideEvent(QHideEvent *hideEvent) override
virtual void | mouseMoveEvent(QMouseEvent *event) override
virtual void | mousePressEvent(QMouseEvent *event) override
virtual void | mouseReleaseEvent(QMouseEvent *mouseEvent) override
virtual void | moveEvent(QMoveEvent *moveEvent) override
virtual void | paintEvent(QPaintEvent *event) override
virtual void | showEvent(QShowEvent *showEvent) override

## Detailed Description

This widget works like the standard Windows resize handle. In the X11 version this resize handle generally works differently from the one provided by the system if the X11 window manager does not support necessary modern post-ICCCM specifications.

Put this widget anywhere in a widget tree and the user can use it to resize the top-level window or any widget with the Qt::SubWindow flag set. Generally, this should be in the lower right-hand corner.

Note that QStatusBar already uses this widget, so if you have a status bar (e.g., you are using QMainWindow), then you don't need to use this widget explicitly. The same goes for QDialog, for which you can just call QDialog::setSizeGripEnabled().

On some platforms the size grip automatically hides itself when the window is shown full screen or maximised.

Note: On macOS, size grips are no longer part of the human interface guideline, and won't show unless used in a QMdiSubWindow. Set another style on size grips that you want to be visible in main windows.

Screenshot of a Fusion style size grip | A size grip widget at the bottom-right corner of a main window, shown in the Fusion widget style.

The QSizeGrip class inherits QWidget and reimplements the mousePressEvent() and mouseMoveEvent() functions to feature the resize functionality, and the paintEvent() function to render the size grip widget.

See also QStatusBar and QWidget::windowState().

## Member Function Documentation

### `[explicit]` QSizeGrip::QSizeGrip(QWidget *parent)

Constructs a resize corner as a child widget of the given parent.

### `[virtual noexcept]` QSizeGrip::~QSizeGrip()

Destroys this size grip.

### `[override virtual protected]` bool QSizeGrip::event(QEvent *event)

Reimplements: QWidget::event(QEvent *event).

### `[override virtual protected]` bool QSizeGrip::eventFilter(QObject *o, QEvent *e)

Reimplements: QObject::eventFilter(QObject *watched, QEvent *event).

### `[override virtual protected]` void QSizeGrip::hideEvent(QHideEvent *hideEvent)

Reimplements: QWidget::hideEvent(QHideEvent *event).

### `[override virtual protected]` void QSizeGrip::mouseMoveEvent(QMouseEvent *event)

Reimplements: QWidget::mouseMoveEvent(QMouseEvent *event).

Resizes the top-level widget containing this widget. The mouse move event is passed in the event parameter.

### `[override virtual protected]` void QSizeGrip::mousePressEvent(QMouseEvent *event)

Reimplements: QWidget::mousePressEvent(QMouseEvent *event).

Receives the mouse press events for the widget, and primes the resize operation. The mouse press event is passed in the event parameter.

### `[override virtual protected]` void QSizeGrip::mouseReleaseEvent(QMouseEvent *mouseEvent)

Reimplements: QWidget::mouseReleaseEvent(QMouseEvent *event).

### `[override virtual protected]` void QSizeGrip::moveEvent(QMoveEvent *moveEvent)

Reimplements: QWidget::moveEvent(QMoveEvent *event).

### `[override virtual protected]` void QSizeGrip::paintEvent(QPaintEvent *event)

Reimplements: QWidget::paintEvent(QPaintEvent *event).

Paints the resize grip.

Resize grips are usually rendered as small diagonal textured lines in the lower-right corner. The paint event is passed in the event parameter.

### `[override virtual]` void QSizeGrip::setVisible(bool visible)

Reimplements an access function for property: QWidget::visible.

### `[override virtual protected]` void QSizeGrip::showEvent(QShowEvent *showEvent)

Reimplements: QWidget::showEvent(QShowEvent *event).

### `[override virtual]` QSize QSizeGrip::sizeHint() const

Reimplements an access function for property: QWidget::sizeHint.