Spec-Zone.ru › Qt 5.12

Класс QMdiSubWindow

Класс QMdiSubWindow предоставляет класс подокна для QMdiArea. Подробнее...

Заголовок: #include <QMdiSubWindow>
qmake: QT += widgets
С момента: Qt 4.3
Наследует: QWidget
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Типы public

перечисление SubWindowOption { RubberBandResize, RubberBandMove }
флаги SubWindowOptions

Свойства

  • keyboardPageStep : int
  • keyboardSingleStep : int
  • 59 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

Функции public

QMdiSubWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = ...)
virtual ~QMdiSubWindow()
bool isShaded() const
int keyboardPageStep() const
int keyboardSingleStep() const
QMdiArea * mdiArea() const
void setKeyboardPageStep(int step)
void setKeyboardSingleStep(int step)
void setOption(QMdiSubWindow::SubWindowOption option, bool on = true)
void setSystemMenu(QMenu *systemMenu)
void setWidget(QWidget *widget)
QMenu * systemMenu() const
bool testOption(QMdiSubWindow::SubWindowOption option) const
QWidget * widget() const

Переопределённые функции public

virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override
  • 214 функций public унаследовано от QWidget
  • 31 функция public унаследовано от QObject
  • 14 функций public унаследовано от QPaintDevice

Слот public

void showShaded()
void showSystemMenu()
  • 19 слотов public унаследовано от QWidget
  • 1 слот public унаследовано от QObject

Сигналы

void aboutToActivate()
void windowStateChanged(Qt::WindowStates oldState, Qt::WindowStates newState)
  • 3 сигнала унаследовано от QWidget
  • 2 сигнала унаследовано от QObject

Статические public члены

const QMetaObject staticMetaObject
  • 5 статических public членов унаследовано от QWidget
  • 9 статических public членов унаследовано от QObject

Переопределённые protected функции

virtual void changeEvent(QEvent *changeEvent) override
virtual void childEvent(QChildEvent *childEvent) override
virtual void closeEvent(QCloseEvent *closeEvent) override
virtual void contextMenuEvent(QContextMenuEvent *contextMenuEvent) override
virtual bool event(QEvent *event) override
virtual bool eventFilter(QObject *object, QEvent *event) override
virtual void focusInEvent(QFocusEvent *focusInEvent) override
virtual void focusOutEvent(QFocusEvent *focusOutEvent) override
virtual void hideEvent(QHideEvent *hideEvent) override
virtual void keyPressEvent(QKeyEvent *keyEvent) override
virtual void leaveEvent(QEvent *leaveEvent) override
virtual void mouseDoubleClickEvent(QMouseEvent *mouseEvent) override
virtual void mouseMoveEvent(QMouseEvent *mouseEvent) override
virtual void mousePressEvent(QMouseEvent *mouseEvent) override
virtual void mouseReleaseEvent(QMouseEvent *mouseEvent) override
virtual void moveEvent(QMoveEvent *moveEvent) override
virtual void paintEvent(QPaintEvent *paintEvent) override
virtual void resizeEvent(QResizeEvent *resizeEvent) override
virtual void showEvent(QShowEvent *showEvent) override
virtual void timerEvent(QTimerEvent *timerEvent) override
  • 35 защищенных функций, унаследованных от QWidget
  • 9 защищенных функций, унаследованных от QObject
  • 1 защищенная функция, унаследованная от QPaintDevice

Дополнительные унаследованные члены

  • 35 защищенных функций, унаследованных от QWidget
  • 9 защищенных функций, унаследованных от QObject
  • 1 защищенный слот, унаследованный от QWidget
  • 1 защищенная функция, унаследованная от QPaintDevice

Подробное описание

Класс QMdiSubWindow предоставляет класс подокна для QMdiArea.

QMdiSubWindow представляет собой окно верхнего уровня в QMdiArea и состоит из строки заголовка с элементами оформления окна, внутреннего виджета и (в зависимости от текущего стиля) рамки окна и маркер изменения размера. QMdiSubWindow имеет собственное расположение, которое состоит из строки заголовка и центральной области для внутреннего виджета.

Наиболее распространённый способ создания QMdiSubWindow — вызов QMdiArea::addSubWindow() с внутренним виджетом в качестве аргумента. Также можно создать подокно самостоятельно и установить внутренний виджет, вызвав setWidget().

Для программирования с подоконниками используется тот же API, что и для обычных окон верхнего уровня (например, можно вызывать функции, такие как show(), hide(), showMaximized() и setWindowTitle()).

Обработка подоконников

QMdiSubWindow также поддерживает поведение, специфичное для подоконников в области MDI.

По умолчанию каждое QMdiSubWindow отображается внутри области просмотра MDI при перемещении, но также можно указать прозрачное поведение перемещения и изменения размера окна, где только контур под-окна обновляется во время этих операций. Функция setOption() используется для включения этого поведения.

Функция isShaded() определяет, является ли под-окно в данный момент затенённым (то есть, окно свернуто так, что видна только строка заголовка). Чтобы перейти в режим затенения, вызовите showShaded(). QMdiSubWindow излучает сигнал windowStateChanged() всякий раз, когда состояние окна изменяется (например, когда окно сворачивается или восстанавливается). Также излучается aboutToActivate() перед его активацией.

В режиме клавиатурного взаимодействия окна перемещаются и изменяются размерами с помощью клавиатуры. В этот режим можно войти через системное меню окна. Свойства keyboardSingleStep и keyboardPageStep контролируют расстояние, на которое перемещается или изменяется размер виджета при каждом событии нажатия клавиши. При нажатой клавише Shift используется шаг страницы, в противном случае — шаг.

Также можно изменить активное окно с помощью клавиатуры. Нажатием клавиш Ctrl и Tab одновременно активируется следующее подокно (используя текущую WindowOrder). Нажатием клавиш Ctrl, Shift и Tab активируется предыдущее окно. Это эквивалентно вызову activateNextSubWindow() и activatePreviousSubWindow(). Обратите внимание, что эти ярлыки переопределяют глобальные ярлыки, но не ярлыки QMdiArea.

См. также QMdiArea.

Документация по типам членов

перечисление QMdiSubWindow::SubWindowOptionфлаги QMdiSubWindow::SubWindowOptions

Это перечисление описывает параметры, которые настраивают поведение QMdiSubWindow.

Константа Значение Описание
QMdiSubWindow::RubberBandResize 0x4 Если вы включите этот параметр, для представления контура под-окна используется резиновый прямоугольник, и пользователь изменяет размер этого прямоугольника вместо самого под-окна. В результате под-окно сохраняет свое исходное положение и размер до завершения операции изменения размера, после чего ему будет отправлено одно событие QResizeEvent. По умолчанию этот параметр отключен.
QMdiSubWindow::RubberBandMove 0x8 Если вы включите этот параметр, для представления контура под-окна используется резиновый прямоугольник, и пользователь перемещает этот прямоугольник вместо самого под-окна. В результате под-окно остается в своем исходном положении до завершения операции перемещения, после чего окну отправляется событие QMoveEvent. По умолчанию этот параметр отключен.

Тип SubWindowOptions — это синоним для QFlags<SubWindowOption>. Он хранит логическое ИЛИ сочетание значений SubWindowOption.

Документация свойств

keyboardPageStep : int

устанавливает, на какое расстояние должен перемещаться или изменяться размер виджета при использовании страниц клавиатуры.

Когда используется режим клавиатурного взаимодействия, стрелки и страницы клавиатуры могут перемещать или изменять размер окна. Это свойство контролирует страницы. Обычный способ перехода в режим клавиатурного взаимодействия — это зайти в меню под-окна и выбрать «изменить размер» или «переместить».

Значение по умолчанию для шага страницы клавиатуры — 20 пикселей.

Функции доступа:

int keyboardPageStep() const
void setKeyboardPageStep(int step)

См. также keyboardSingleStep.

keyboardSingleStep : int

устанавливает, на какое расстояние должен перемещаться или изменяться размер виджета при использовании стрелок клавиатуры.

Когда используется режим клавиатурного взаимодействия, стрелки и страницы клавиатуры могут перемещать или изменять размер окна. Это свойство контролирует стрелки. Обычный способ перехода в режим клавиатурного взаимодействия — это зайти в меню под-окна и выбрать «изменить размер» или «переместить».

Значение по умолчанию для шага клавиатуры — 5 пикселей.

Функции доступа:

int keyboardSingleStep() const
void setKeyboardSingleStep(int step)

См. также keyboardPageStep.

Документация по функциям-членам

QMdiSubWindow::QMdiSubWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = ...)

Создает новый виджет QMdiSubWindow. Аргументы parent и flags передаются конструктору QWidget.

Вместо использования addSubWindow(), можно просто использовать setParent(), когда вы добавляете подокно в QMdiArea.

Обратите внимание, что только QMdiSubWindow могут быть установлены как дочерние элементы QMdiArea; например, нельзя написать:

//bad code
QMdiArea mdiArea;
QTextEdit editor(&mdiArea); // invalid child widget

См. также QMdiArea::addSubWindow().

[virtual] QMdiSubWindow::~QMdiSubWindow()

Уничтожает подокно.

См. также QMdiArea::removeSubWindow().

[signal] void QMdiSubWindow::aboutToActivate()

QMdiSubWindow излучает этот сигнал непосредственно перед активацией. После активации под-окна QMdiArea, управляющий под-окном, также излучит сигнал subWindowActivated().

См. также QMdiArea::subWindowActivated().

[override virtual protected] void QMdiSubWindow::changeEvent(QEvent *changeEvent)

Переопределено из QWidget::changeEvent().

[override virtual protected] void QMdiSubWindow::childEvent(QChildEvent *childEvent)

Переопределено из QObject::childEvent().

[override virtual protected] void QMdiSubWindow::closeEvent(QCloseEvent *closeEvent)

Переопределено из QWidget::closeEvent().

[override virtual protected] void QMdiSubWindow::contextMenuEvent(QContextMenuEvent *contextMenuEvent)

Переопределено из QWidget::contextMenuEvent().

[override virtual protected] bool QMdiSubWindow::event(QEvent *event)

Переопределено из QWidget::event().

[override virtual protected] bool QMdiSubWindow::eventFilter(QObject *object, QEvent *event)

Переопределено из QObject::eventFilter().

[override virtual protected] void QMdiSubWindow::focusInEvent(QFocusEvent *focusInEvent)

Переопределено из QWidget::focusInEvent().

[override virtual protected] void QMdiSubWindow::focusOutEvent(QFocusEvent *focusOutEvent)

Переопределено из QWidget::focusOutEvent().

[override virtual protected] void QMdiSubWindow::hideEvent(QHideEvent *hideEvent)

Переопределено из QWidget::hideEvent().

bool QMdiSubWindow::isShaded() const

Возвращает true , если это окно затенённое; в противном случае возвращает false.

Окно считается затенённым, если оно свёрнуто так, что видна только строка заголовка.

[override virtual protected] void QMdiSubWindow::keyPressEvent(QKeyEvent *keyEvent)

Переопределено из QWidget::keyPressEvent().

[override virtual protected] void QMdiSubWindow::leaveEvent(QEvent *leaveEvent)

Переопределено из QWidget::leaveEvent().

QMdiArea *QMdiSubWindow::mdiArea() const

Возвращает область, содержащую это подокно, или 0, если такой области нет.

Эта функция была добавлена в Qt 4.4.

См. также QMdiArea::addSubWindow().

[override virtual] QSize QMdiSubWindow::minimumSizeHint() const

Переопределено из QWidget::minimumSizeHint().

[override virtual protected] void QMdiSubWindow::mouseDoubleClickEvent(QMouseEvent *mouseEvent)

Переопределено из QWidget::mouseDoubleClickEvent().

[override virtual protected] void QMdiSubWindow::mouseMoveEvent(QMouseEvent *mouseEvent)

Переопределено из QWidget::mouseMoveEvent().

[override virtual protected] void QMdiSubWindow::mousePressEvent(QMouseEvent *mouseEvent)

Переопределено из QWidget::mousePressEvent().

[override virtual protected] void QMdiSubWindow::mouseReleaseEvent(QMouseEvent *mouseEvent)

Переопределено из QWidget::mouseReleaseEvent().

[override virtual protected] void QMdiSubWindow::moveEvent(QMoveEvent *moveEvent)

Переопределено из QWidget::moveEvent().

[override virtual protected] void QMdiSubWindow::paintEvent(QPaintEvent *paintEvent)

Переопределено из QWidget::paintEvent().

[override virtual protected] void QMdiSubWindow::resizeEvent(QResizeEvent *resizeEvent)

Переопределено из QWidget::resizeEvent().

Предупреждение: При максимализации или восстановлении подокна вызванная функция может иметь недопустимое QResizeEvent::oldSize().

void QMdiSubWindow::setOption(QMdiSubWindow::SubWindowOption option, bool on = true)

Если on равно true, option включен в подокне; в противном случае он отключен. См. SubWindowOption для эффекта каждого параметра.

См. также SubWindowOption и testOption().

void QMdiSubWindow::setSystemMenu(QMenu *systemMenu)

Устанавливает systemMenu как текущее системное меню для этого подокна.

По умолчанию у каждого QMdiSubWindow есть стандартное системное меню.

QActions для системного меню, созданного QMdiSubWindow, будут автоматически обновляться в зависимости от текущего состояния окна; например, действие сворачивания будет отключено после сворачивания окна.

QActions, добавленные пользователем, не обновляются QMdiSubWindow.

QMdiSubWindow принимает владение systemMenu; вам не нужно его удалять. Любые существующие меню будут удалены.

См. также systemMenu() и showSystemMenu().

void QMdiSubWindow::setWidget(QWidget *widget)

Устанавливает widget как внутренний виджет этого подокна. Внутренний виджет отображается в центре подокна под строкой заголовка.

QMdiSubWindow временно принимает владение widget; вам не нужно его удалять. Любой существующий внутренний виджет будет удалён и передан родительскому окну.

См. также widget().

[override virtual protected] void QMdiSubWindow::showEvent(QShowEvent *showEvent)

Переопределено из QWidget::showEvent().

[slot] void QMdiSubWindow::showShaded()

Вызов этой функции приводит к тому, что подокно переходит в режим затенения. Когда подокно затенено, видна только строка заголовка.

Хотя затенение не поддерживается всеми стилями, эта функция всё равно отобразит подокно затенённым, независимо от того, доступна ли поддержка затенения. Однако при использовании со стилями без поддержки затенения пользователь не сможет вернуться из режима затенения через пользовательский интерфейс (например, через кнопку затенения в строке заголовка).

См. также isShaded().

[slot] void QMdiSubWindow::showSystemMenu()

Отображает системное меню под иконкой системного меню в строке заголовка.

См. также setSystemMenu() и systemMenu().

[override virtual] QSize QMdiSubWindow::sizeHint() const

Переопределено из QWidget::sizeHint().

QMenu *QMdiSubWindow::systemMenu() const

Возвращает указатель на текущее системное меню или ноль, если системное меню не установлено. QMdiSubWindow предоставляет системное меню по умолчанию, но вы также можете установить меню с помощью setSystemMenu().

См. также setSystemMenu() и showSystemMenu().

bool QMdiSubWindow::testOption(QMdiSubWindow::SubWindowOption option) const

Возвращает true , если option включено; в противном случае возвращает false.

См. также SubWindowOption и setOption().

[override virtual protected] void QMdiSubWindow::timerEvent(QTimerEvent *timerEvent)

Переопределено из QObject::timerEvent().

QWidget *QMdiSubWindow::widget() const

Возвращает текущий внутренний виджет.

См. также setWidget().

[signal] void QMdiSubWindow::windowStateChanged(Qt::WindowStates oldState, Qt::WindowStates newState)

QMdiSubWindow испускает этот сигнал после изменения состояния окна. oldState — состояние окна до изменения, а newState — новое, текущее состояние.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qmdisubwindow.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API