Класс 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) | |
| виртуальный | ~QSizeGrip() |
Переопределённые открытые функции
| виртуальный void | setVisible(bool visible) override |
| виртуальный QSize | sizeHint() const override |
Переопределённые защищённые функции
| виртуальный bool | event(QEvent *event) override |
| виртуальный bool | eventFilter(QObject *o, QEvent *e) override |
| виртуальный void | hideEvent(QHideEvent *hideEvent) override |
| виртуальный void | mouseMoveEvent(QMouseEvent *event) override |
| виртуальный void | mousePressEvent(QMouseEvent *event) override |
| виртуальный void | mouseReleaseEvent(QMouseEvent *mouseEvent) override |
| виртуальный void | moveEvent(QMoveEvent *moveEvent) override |
| виртуальный void | paintEvent(QPaintEvent *event) override |
| виртуальный 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.1/qsizegrip.html