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 |
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.