Тип окна QML
Создаёт новое окно верхнего уровня. Подробнее...
| Инициализирует: | QQuickWindow |
Свойства
- active : bool
- activeFocusItem : Item
- цвет : цвет
- contentItem : Item
- contentOrientation : Qt::ScreenOrientation
- data : список<Object>
- флаги : Qt::WindowFlags
- высота : int
- максимальнаяВысота : int
- максимальнаяШирина : int
- минимальнаяВысота : int
- минимальнаяШирина : int
- модальность : Qt::WindowModality
- прозрачность : real
- палитра : QQuickPalette
- экран : вариант
- заголовок : строка
- transientParent : QWindow
- видимость : QWindow::Visibility
- видимый : bool
- ширина : int
- x : int
- y : int
Присоединённые свойства
- active : bool
- activeFocusItem : Item
- contentItem : Item
- высота : int
- видимость : QWindow::Visibility
- ширина : int
- окно : Окно
Сигналы
- afterAnimating()
- closing(CloseEvent close)
- frameSwapped()
- sceneGraphError(SceneGraphError error, QString message)
Методы
- alert(int msec)
- закрыть()
- скрыть()
- отодвинутьНазад()
- отодвинутьВперед()
- requestActivate()
- показать()
- показатьНаВесьЭкран()
- показатьМаксимизированным()
- показатьМинимизированным()
- показатьНормальным()
Подробное описание
Объект Window создаёт новое окно верхнего уровня для сцены Qt Quick. Он автоматически настраивает окно для использования с QtQuick 2.x графическими типами.
Для использования этого типа, вам необходимо импортировать модуль следующей строкой:
import QtQuick.Window 2.2
Пропуск этого импорта позволит вам иметь среду QML без доступа к функциям системного окна.
Окно может быть объявлено внутри элемента Item или внутри другого окна; в этом случае внутреннее окно автоматически станет "транзитивным для" внешнего окна: большинство платформ отобразят его по центру внешнего окна по умолчанию, и могут быть другие платформенно-зависимые поведения, зависящие также от флагов. Если вложенное окно предназначено для диалогового окна в вашем приложении, вы также должны установить флаги в Qt.Dialog, потому что некоторые менеджеры окон не обеспечат поведение центрирования без этого флага. Вы также можете объявить несколько окон внутри верхнего уровня QtObject, в котором случае окна не будут иметь транзитивных отношений.
В качестве альтернативы, вы можете установить или привязать x и y, чтобы явно расположить окно на экране.
Когда пользователь пытается закрыть окно, будет выпущен сигнал closing. Вы можете заставить окно оставаться открытым (например, чтобы попросить пользователя сохранить изменения) написанием обработчика onClosing и установкой close.accepted = false.
Документация по свойствам
[с 5.1] максимальнаяВысота : int
Определяет максимальный размер окна.
Это подсказка для менеджера окон, чтобы предотвратить изменение размера сверх указанной ширины и высоты.
Это свойство QML было введено в Qt 5.1.
[с 5.1] минимальнаяВысота : int
Определяет минимальный размер окна.
Это подсказка для менеджера окон, чтобы предотвратить изменение размера ниже указанной ширины и высоты.
Это свойство QML было введено в Qt 5.1.
высота : int
Определяет позицию и размер окна.
Позиция (x, y) относительна к экрану, если таковой единственный, или к виртуальному рабочему столу (расположение нескольких экранов).
Window { x: 100; y: 100; width: 100; height: 100 } [с 5.1] активный : bool
Статус активности окна.
Это свойство было введено в Qt 5.1.
См. также requestActivate().
[с 5.1] activeFocusItem : Item
Элемент, который в настоящее время имеет активный фокус или null если нет элемента с активным фокусом.
Это свойство было введено в Qt 5.1.
цвет : цвет
Цвет фона для окна.
Установка этого свойства более эффективна, чем использование отдельного прямоугольника.
[только для чтения] contentItem : Item
Невидимый корневой элемент сцены.
[с 5.1] contentOrientation : Qt::ScreenOrientation
Это подсказка для менеджера окон, если ему нужно отобразить дополнительное содержимое, такое как всплывающие окна, диалоговые окна, панели состояния или подобное, в отношении окна.
Рекомендуемая ориентация — Screen.orientation, но приложение не должно поддерживать все возможные ориентации, и поэтому может выбрать игнорирование текущей ориентации экрана.
Разница между ориентацией окна и ориентацией содержимого определяет, насколько повернуть содержимое.
Значение по умолчанию — Qt::PrimaryOrientation.
Это свойство было введено в Qt 5.1.
См. также Экран.
[по умолчанию] data : список<Объект>
Свойство data позволяет свободно смешивать визуальных потомков, ресурсы и другие окна в окне.
Если вы назначите другое окно в список данных, вложенное окно станет "транзитивным для" внешнего окна.
Если вы назначите Item в список данных, он станет потомком contentItem окна, так что он будет отображаться внутри окна. Родитель элемента будет contentItem окна, который является корнем дерева владения Item внутри этого окна.
Если вы назначите любой другой тип объекта, он будет добавлен как ресурс.
В целом, не должно быть необходимости ссылаться на свойство data, так как это свойство по умолчанию для окна, и, следовательно, все дочерние элементы автоматически назначаются этому свойству.
См. также QWindow::transientParent().
флаги : Qt::WindowFlags
Флаги окна.
Флаги окна управляют отображением окна в системе окон, является ли это диалоговым окном, всплывающим окном или обычным окном, и должен ли он иметь панель заголовка и т.д.
Флаги, которые вы считываете из этого свойства, могут отличаться от установленных, если запрошенные флаги не могут быть выполнены.
См. также Qt::WindowFlags.
модальность : Qt::WindowModality
Модальность окна.
Модальное окно предотвращает получение других окон событий ввода. Возможные значения — Qt.NonModal (по умолчанию), Qt.WindowModal и Qt.ApplicationModal.
[since 5.1] opacity : real
Непрозрачность окна.
Если система окон поддерживает непрозрачность, это свойство можно использовать для плавного появления и исчезновения окна или для его полупрозрачности.
Значение 1.0 или выше обрабатывается как полностью непрозрачное, а значение 0.0 или ниже — как полностью прозрачное. Промежуточные значения представляют различные уровни полупрозрачности между двумя крайностями.
Значение по умолчанию — 1.0.
Это свойство было добавлено в Qt 5.1.
[since 6.0] palette : QQuickPalette
Это свойство содержит палитру, текущую для окна.
Палитра по умолчанию зависит от системной среды. QGuiApplication поддерживает системную/темовую палитру, которая служит по умолчанию для всех окон приложения. Вы также можете задать палитру по умолчанию для окон, передав пользовательскую палитру в QGuiApplication::setPalette() до загрузки QML.
ApplicationWindow распространяет явные свойства палитры на дочерние элементы управления. Если вы измените конкретное свойство палитры окна, это свойство распространится на все дочерние элементы управления в окне, перезаписывая любые системные значения по умолчанию для этого свойства.
Это свойство было добавлено в Qt 6.0.
См. также Item::palette, Popup::palette и QQuickColorGroup.
[since 5.9] screen : variant
Экран, к которому ассоциировано окно.
Если указано до отображения окна, окно будет отображено на этом экране, если не заданы явные координаты окна. Значение должно быть элементом из массива Qt.application.screens.
Примечание: Чтобы убедиться, что окно ассоциировано с нужным экраном при создании основного родного окна, убедитесь, что это свойство установлено как можно раньше, и что его значение не отложено. Это особенно важно на встраиваемых платформах без системы окон, где одновременно разрешено только одно окно на экран. Установка экрана после создания окна не перемещает окно, если новый экран входит в ту же виртуальную рабочую область, что и старый экран.
Это свойство было добавлено в Qt 5.9.
См. также QWindow::setScreen(), QWindow::screen(), QScreen и Qt.application.
title : string
Заголовок окна в системе окон.
Заголовок окна может отображаться в области заголовка декораций окна, в зависимости от системы окон и флагов окна. Он также может использоваться системой окон для идентификации окна в других контекстах, например, в переключателе задач.
[since 5.13] transientParent : QWindow
Окно, для которого это окно является всплывающим окном-диалогом.
Это подсказка для менеджера окон о том, что это окно является диалоговым окном или всплывающим окном от имени родительского окна-диалога. Обычно это означает, что всплывающее окно будет центрировано над родительским окном-диалогом при его первоначальном отображении, что сворачивание родительского окна также будет сворачивать всплывающее окно, и так далее; однако результаты несколько различаются в разных платформах.
Обычно, если вы объявляете окно внутри Item или внутри другого окна, эта связь выводится автоматически. В этом случае, если вы объявляете свойство visible этого окна true, оно фактически не будет отображено до тех пор, пока transientParent окно не будет отображено.
Однако если вы установите это свойство, Qt Quick больше не будет ждать, пока transientParent окно будет отображено, прежде чем отобразить это окно. Если вы хотите иметь возможность отображать всплывающее окно независимо от родительского Item или окна, в котором оно было объявлено, вы можете удалить эту связь, установив transientParent в null.
import QtQuick.Window 2.13
Window {
// visible is false by default
Window {
transientParent: null
visible: true
}
}Для того, чтобы окно по умолчанию центрировалось над родительским окном-диалогом в зависимости от менеджера окон, может потребоваться установить свойство Window::flags с соответствующим значением Qt::WindowType (например, Qt::Dialog).
Это свойство было добавлено в Qt 5.13.
[since 5.1] visibility : QWindow::Visibility
Состояние заполнения экрана окном.
Видимость — это то, должно ли окно отображаться в системе окон как обычное, свёрнутое, развернутое, полноэкранное или скрытое.
Установка видимости в AutomaticVisibility означает присвоение окну состояния видимости по умолчанию, которое может быть FullScreen или Windowed в зависимости от платформы. Однако при чтении свойства видимости вы всегда получите фактическое состояние, никогда не AutomaticVisibility.
Когда окно не отображается, его видимость Hidden, и установка видимости в Hidden эквивалентна установке visible в false.
Это свойство было добавлено в Qt 5.1.
См. также visible.
visible : bool
Отображается ли окно на экране.
Установка visible в false эквивалентна установке visibility в Hidden.
См. также visibility.
Документация по присоединенному свойству
[since 5.5] Window.height : int
Эти присоединенные свойства содержат размер окна элемента. Присоединенное свойство Window может быть присоединен к любому Item.
Это свойство QML было добавлено в Qt 5.5.
[since 5.4] Window.active : bool
Это присоединенное свойство указывает, активно ли окно. Присоединенное свойство Window может быть присоединен к любому Item.
Вот пример, который изменяет метку, чтобы отобразить активное состояние окна, в котором она отображается:
import QtQuick 2.4
import QtQuick.Window 2.2
Text {
text: Window.active ? "active" : "inactive"
}Это свойство было добавлено в Qt 5.4.
[since 5.4] Window.activeFocusItem : Item
Это присоединенное свойство содержит элемент, у которого в данный момент активен фокус, или null если нет элемента с активным фокусом. Присоединенное свойство Window может быть присоединен к любому Item.
Это свойство было добавлено в Qt 5.4.
[since 5.4] Window.contentItem : Item
Это присоединенное свойство содержит невидимый корневой элемент сцены или null если элемент не находится в окне. Присоединенное свойство Window может быть присоединен к любому Item.
Это свойство было добавлено в Qt 5.4.
[since 5.4] Window.visibility : QWindow::Visibility
Это присоединенное свойство содержит, отображается ли окно в данный момент в системе окон как обычное, свёрнутое, развернутое, полноэкранное или скрытое. Присоединенное свойство Window может быть присоединен к любому Item. Если элемент не отображается ни в каком окне, значение будет Hidden.
Это свойство было добавлено в Qt 5.4.
См. также visible и visibility.
[since 5.7] Window.window : Window
Это присоединенное свойство содержит окно элемента. Присоединенное свойство Window может быть присоединен к любому Item.
Это свойство было добавлено в Qt 5.7.
Документация по сигналам
[since 5.3] afterAnimating()
Этот сигнал излучается в потоке GUI перед запросом потоку рендеринга выполнить синхронизацию графа сцены.
Вы можете реализовать onAfterAnimating для выполнения дополнительной обработки после каждого шага анимации.
Примечание: Соответствующий обработчик — onAfterAnimating.
Этот сигнал был добавлен в Qt 5.3.
[since 5.1] closing(CloseEvent close)
Этот сигнал излучается, когда пользователь пытается закрыть окно.
Этот сигнал включает параметр close. Свойство close.accepted по умолчанию равно true, чтобы позволить окну закрыться; но вы можете реализовать обработчик onClosing и установить close.accepted = false если вам нужно сделать что-то еще, прежде чем окно сможет закрыться.
Примечание: Соответствующий обработчик — onClosing.
Этот сигнал был добавлен в Qt 5.1.
frameSwapped()
Этот сигнал излучается, когда кадр был поставлен в очередь для отображения. При включенной вертикальной синхронизации сигнал излучается не более одного раза за интервал vsync в непрерывно анимируемой сцене.
Примечание: Соответствующий обработчик — onFrameSwapped.
[since 5.3] sceneGraphError(SceneGraphError error, QString message)
Этот сигнал излучается, когда произошла ошибка error во время инициализации графа сцены.
Вы можете реализовать onSceneGraphError(error, message), чтобы обработать ошибки, такие как сбои создания контекста графики, в пользовательском стиле. Если к этому сигналу не подключен обработчик, Quick выведет message или покажет окно сообщения и завершит приложение.
Примечание: Соответствующий обработчик — onSceneGraphError.
Этот сигнал был введён в Qt 5.3.
Документация по методам
[since 5.1] alert(int msec)
Вызывает отображение предупреждения на msec миллисекунд. Если msec равно 0 (по умолчанию), то предупреждение отображается неопределённо долго, до тех пор, пока окно не станет активным снова.
В состоянии предупреждения окно указывает, что требует внимания, например, мигая или подпрыгивая в области задач.
Этот метод был введён в Qt 5.1.
close()
Закрывает окно.
При вызове этого метода или при попытке пользователя закрыть окно кнопкой на панели заголовка, будет испущен сигнал closing. Если обработчика нет или он не отзывает разрешение на закрытие, окно будет закрыто. Если свойство QGuiApplication::quitOnLastWindowClosed равно true, и других открытых окон нет, приложение завершит работу.
hide()
Скрывает окно.
Эквивалентно установке visible в false или visibility в Hidden.
См. также show().
lower()
Опускает окно в системе окон.
Запрашивает опускание окна, чтобы оно отображалось под другими окнами.
raise()
Приподнимает окно в системе окон.
Запрашивает поднятие окна, чтобы оно отображалось над другими окнами.
[since 5.1] requestActivate()
Запрашивает активацию окна, т.е. получение фокуса клавиатуры.
Этот метод был введён в Qt 5.1.
show()
Отображает окно.
Это эквивалентно вызову showFullScreen(), showMaximized() или showNormal(), в зависимости от поведения платформы по умолчанию для типа окна и флагов.
См. также showFullScreen(), showMaximized(), showNormal(), hide() и QQuickItem::flags().
showFullScreen()
Отображает окно в полноэкранном режиме.
Эквивалентно установке visibility в FullScreen.
showMaximized()
Отображает окно в максимальном режиме.
Эквивалентно установке visibility в Maximized.
showMinimized()
Отображает окно в свёрнутом виде.
Эквивалентно установке visibility в Minimized.
showNormal()
Отображает окно в нормальном режиме, то есть ни максимизированным, ни свёрнутым, ни полноэкранным.
Эквивалентно установке visibility в Windowed.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-window.html