Класс QSizeGrip
Класс QSizeGrip предоставляет маркер изменения размера для изменения размера окон верхнего уровня. Подробнее...
| Заголовок: | #include <QSizeGrip> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QWidget |
Открытые функции
| QSizeGrip(QWidget *parent) | |
| virtual | ~QSizeGrip() |
Переопределенные открытые функции
| virtual void | setVisible(bool visible) override |
| virtual QSize | sizeHint() const override |
Переопределенные защищенные функции
| 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 |
Подробное описание
Этот виджет работает как стандартная ручка изменения размера в Windows. В X11-версии эта ручка изменения размера, как правило, работает по-другому, чем предоставленная системой, если диспетчер окон X11 не поддерживает необходимые современные спецификации после ICCCM.
Разместите этот виджет где угодно в дереве виджетов, и пользователь сможет использовать его для изменения размера окна верхнего уровня или любого виджета с флагом Qt::SubWindow. Обычно он должен находиться в правом нижнем углу.
Обратите внимание, что QStatusBar уже использует этот виджет, поэтому если у вас есть строка состояния (например, вы используете QMainWindow), то вам не нужно явно использовать этот виджет. То же самое относится к QDialog, для которого можно просто вызвать QDialog::setSizeGripEnabled().
На некоторых платформах маркер изменения размера автоматически скрывается, когда окно отображается в полноэкранном режиме или максимизировано.
Примечание: На macOS маркеры изменения размера больше не являются частью руководства по человеко-машинному интерфейсу и не будут отображаться, если не используются в QMdiSubWindow. Установите другой стиль для маркеров изменения размера, которые вы хотите видеть в главном окне.
| Виджет маркер изменения размера в правом нижнем углу главного окна, показанный в стиле виджетов Fusion. |
Класс QSizeGrip наследует QWidget и переопределяет функции mousePressEvent() и mouseMoveEvent() для обеспечения функциональности изменения размера, а также функцию paintEvent() для отрисовки виджета маркера изменения размера.
См. также QStatusBar и QWidget::windowState().
Документация по функциям-членам
QSizeGrip::QSizeGrip(QWidget *parent)
Создает уголок изменения размера как виджет-потомка заданного parent.
[virtual] QSizeGrip::~QSizeGrip()
Уничтожает этот маркер изменения размера.
[override virtual protected] bool QSizeGrip::event(QEvent *event)
Переопределяет: QWidget::event(QEvent *event).
[override virtual protected] bool QSizeGrip::eventFilter(QObject *o, QEvent *e)
Переопределяет: QObject::eventFilter(QObject *watched, QEvent *event).
[override virtual protected] void QSizeGrip::hideEvent(QHideEvent *hideEvent)
Переопределяет: QWidget::hideEvent(QHideEvent *event).
[override virtual protected] void QSizeGrip::mouseMoveEvent(QMouseEvent *event)
Переопределяет: QWidget::mouseMoveEvent(QMouseEvent *event).
Изменяет размер виджета верхнего уровня, содержащего этот виджет. Событие перемещения мыши передается в параметре event.
[override virtual protected] void QSizeGrip::mousePressEvent(QMouseEvent *event)
Переопределяет: QWidget::mousePressEvent(QMouseEvent *event).
Получает события нажатия мыши для виджета и подготавливает операцию изменения размера. Событие нажатия мыши передается в параметре event.
[override virtual protected] void QSizeGrip::mouseReleaseEvent(QMouseEvent *mouseEvent)
Переопределяет: QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected] void QSizeGrip::moveEvent(QMoveEvent *moveEvent)
Переопределяет: QWidget::moveEvent(QMoveEvent *event).
[override virtual protected] void QSizeGrip::paintEvent(QPaintEvent *event)
Переопределяет: QWidget::paintEvent(QPaintEvent *event).
Отображает маркер изменения размера.
Маркеры изменения размера обычно отображаются как небольшие диагональные текстурированные линии в правом нижнем углу. Событие отрисовки передается в параметре event.
[override virtual] void QSizeGrip::setVisible(bool visible)
Переопределяет функцию доступа к свойству: QWidget::visible.
[override virtual protected] void QSizeGrip::showEvent(QShowEvent *showEvent)
Переопределяет: QWidget::showEvent(QShowEvent *event).
[override virtual] QSize QSizeGrip::sizeHint() const
Переопределяет функцию доступа к свойству: QWidget::sizeHint.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qsizegrip.html