Тип окна QML
Создаёт новое окно верхнего уровня. Подробнее...
| Оператор импорта: | import QtQuick |
| Создаёт: | QQuickWindow |
Свойства
- active : bool
- activeFocusItem : Item
- цвет : цвет
- contentItem : Item
- contentOrientation : Qt::ScreenOrientation
- данные : list<Object>
- флаги : Qt::WindowFlags
- высота : int
- максимальная высота : int
- максимальная ширина : int
- минимальная высота : int
- минимальная ширина : int
- режим : Qt::WindowModality
- прозрачность : real
- палитра : Palette
- экран : variant
- заголовок : string
- transientParent : QWindow
- видимость : QWindow::Visibility
- видимый : bool
- ширина : int
- x : int
- y : int
Прикреплённые свойства
- active : bool
- activeFocusItem : Item
- contentItem : Item
- высота : int
- видимость : QWindow::Visibility
- ширина : int
- окно : Window
Сигналы
- послеАнимации()
- закрытие(CloseEvent close)
- кадрЗаменён()
- ошибкаГрафаСцены(SceneGraphError error, QString message)
Методы
- alert(int msec)
- закрыть()
- скрыть()
- опустить()
- поднять()
- запроситьАктивацию()
- показать()
- показатьНаВесьЭкран()
- показатьМаксимизированным()
- показатьМинимизированным()
- показатьОбычным()
Подробное описание
Объект Window создаёт новое окно верхнего уровня для сцены Qt Quick. Он автоматически настраивает окно для использования с QtQuick графическими типами.
Окно может быть объявлено внутри элемента Item или другого окна; в этом случае внутреннее окно автоматически станет "временным для" внешнего окна: большинство платформ по умолчанию будут отображать его центрированным по внешнему окну, и могут быть другие платформенно-зависимые поведения, зависящие также от флагов. Если вложенное окно предназначено быть диалоговым окном в вашем приложении, вы также должны установить флаги на Qt.Dialog, потому что некоторые менеджеры окон не обеспечат центрирование без этого флага. Вы также можете объявить несколько окон внутри верхнего уровня QtObject, в этом случае окна не будут иметь временных отношений.
В качестве альтернативы можно установить или привязать x и y для явного позиционирования окна на экране.
Когда пользователь пытается закрыть окно, будет выпущен сигнал закрытие. Вы можете заставить окно остаться открытым (например, чтобы запросить пользователя сохранить изменения) написав обработчик 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.
См. также запроситьАктивацию().
[с 5.1] активныйFocusItem : Item
Элемент, который в данный момент имеет активный фокус или null если нет элемента с активным фокусом.
Это свойство было введено в Qt 5.1.
цвет : цвет
Цвет фона окна.
Установка этого свойства более эффективна, чем использование отдельного Rectangle.
[только для чтения] contentItem : Item
Невидимый корневой элемент сцены.
[с 5.1] contentOrientation : Qt::ScreenOrientation
Это подсказка для менеджера окон на случай, если ему необходимо отобразить дополнительное содержимое, такое как всплывающие окна, диалоговые окна, строки состояния или подобное по отношению к окну.
Рекомендуемая ориентация — Screen.orientation, но приложение не должно поддерживать все возможные ориентации и, таким образом, может выбрать игнорирование текущей ориентации экрана.
Разница между ориентацией окна и ориентацией содержимого определяет, на сколько повернуть содержимое.
Значение по умолчанию — Qt::PrimaryOrientation.
Это свойство было введено в Qt 5.1.
См. также Экран.
[по умолчанию] данные : список<Объект>
Свойство данных позволяет свободно смешивать визуальные дочерние элементы, ресурсы и другие окна в окне.
Если другому окну присваивается список данных, вложенное окно станет "временным для" внешнего окна.
Если элементу Item присваивается список данных, он станет дочерним элементом contentItem окна, поэтому он будет отображаться внутри окна. Родительским элементом элемента будет contentItem окна, являющийся корнем дерева владения Item внутри этого окна.
Если присваивается любой другой тип объекта, он добавляется как ресурс.
В целом не нужно ссылаться на свойство data, так как это свойство по умолчанию для окна, и все дочерние элементы автоматически присваиваются этому свойству.
См. также QWindow::transientParent().
флаги : Qt::WindowFlags
Флаги окна.
Флаги окна контролируют внешний вид окна в системе окон, является ли оно диалоговым, всплывающим или обычным окном, и должно ли оно иметь строку заголовка и т. д.
Флаги, которые вы читаете из этого свойства, могут отличаться от тех, что вы установили, если запрошенные флаги не могут быть выполнены.
См. также Qt::WindowFlags.
режим : Qt::WindowModality
Режим окна.
Модальное окно предотвращает получение других окон событий ввода. Возможные значения — Qt.NonModal (по умолчанию), Qt.WindowModal и Qt.ApplicationModal.
[с 5.1] opacity : real
Непрозрачность окна.
Если система окон поддерживает непрозрачность окон, это свойство можно использовать для плавного появления и исчезновения окна или для того, чтобы сделать его полупрозрачным.
Значение 1.0 или больше рассматривается как полностью непрозрачное, а значение 0.0 или меньше — как полностью прозрачное. Промежуточные значения представляют собой различные уровни полупрозрачности между двумя крайностями.
Значение по умолчанию — 1.0.
Это свойство было добавлено в Qt 5.1.
[с 6.0] palette : Palette
Это свойство содержит палитру, текущую для окна.
Палитра по умолчанию зависит от системной среды. QGuiApplication поддерживает системную/темовую палитру, которая служит значением по умолчанию для всех окон приложения. Также можно установить палитру по умолчанию для окон, передав пользовательскую палитру в QGuiApplication::setPalette() до загрузки QML.
ApplicationWindow распространяет явные свойства палитры на дочерние элементы управления. Если вы измените определённое свойство палитры окна, это свойство распространяется на все дочерние элементы управления в окне, перезаписывая любые системные значения по умолчанию для этого свойства.
Это свойство было добавлено в Qt 6.0.
См. также Item::palette, Popup::palette и ColorGroup.
[с 5.9] screen : variant
Экран, с которым связано окно.
Если указано до отображения окна, окно будет отображено на этом экране, если не задано явное положение окна. Значение должно быть элементом из массива Qt.application.screens.
Примечание: Чтобы убедиться, что окно связано с нужным экраном при создании базового нативного окна, убедитесь, что это свойство установлено как можно раньше и что установка его значения не отложена. Это особенно важно на встраиваемых платформах без системы окон, где разрешено только одно окно на экран за раз. Установка экрана после создания окна не перемещает окно, если новый экран является частью той же виртуальной рабочей области, что и старый экран.
Это свойство было добавлено в Qt 5.9.
См. также QWindow::setScreen(), QWindow::screen(), QScreen и Qt.application.
title : string
Заголовок окна в системе окон.
Заголовок окна может отображаться в области заголовка декораций окна, в зависимости от системы окон и флагов окна. Он также может использоваться системой окон для идентификации окна в других контекстах, таких как в переключателе задач.
[с 5.13] transientParent : QWindow
Окно, для которого это окно является всплывающим окном-диалогом.
Это подсказка для менеджера окон, что это окно — диалог или всплывающее окно от имени родительского окна-диалога. Обычно это означает, что всплывающее окно будет центрировано над своим родительским окном-диалогом при его первоначальном отображении, что сворачивание родительского окна также будет сворачивать всплывающее окно, и так далее; однако результаты несколько различаются в зависимости от платформы.
Обычно, если вы объявляете окно внутри элемента или внутри другого окна, эта связь выводится автоматически. В этом случае, если вы объявите свойство visible этого окна true, оно фактически не будет отображено до тех пор, пока transientParent окно не будет отображено.
Однако, если вы установите это свойство, Qt Quick больше не будет ждать, пока transientParent окно будет отображено перед отображением этого окна. Если вы хотите, чтобы всплывающее окно можно было отображать независимо от родительского элемента или окна, внутри которого оно было объявлено, вы можете разорвать эту связь, установив 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.
[с 5.1] visibility : QWindow::Visibility
Состояние оккупации экрана окном.
Видимость — это то, должно ли окно отображаться в системе окон как обычное, свёрнутое, развернутое, полноэкранное или скрытое.
Установить видимость в AutomaticVisibility означает задать состояние видимости по умолчанию, которое может быть FullScreen или Windowed в зависимости от платформы. Однако при чтении свойства visibility всегда будет получено фактическое состояние, никогда не AutomaticVisibility.
Когда окно невидимо, его видимость — Hidden, и установка видимости в Hidden эквивалентна установке visible в false.
Это свойство было добавлено в Qt 5.1.
См. также visible.
visible : bool
Видимость окна на экране.
Установка visible в false эквивалентна установке visibility в Hidden.
См. также visibility.
Документация по присоединённому свойству
[с 5.5] Window.height : int
Эти присоединённые свойства содержат размер окна элемента. Присоединённое свойство Window может быть присоединённо к любому элементу.
Это свойство QML было добавлено в Qt 5.5.
[с 5.4] Window.active : bool
Это присоединённое свойство указывает, является ли окно активным. Присоединённое свойство Window может быть присоединённо к любому элементу.
Вот пример, который изменяет метку, чтобы отобразить активное состояние окна, в котором она отображается:
import QtQuick 2.4
import QtQuick.Window 2.2
Text {
text: Window.active ? "active" : "inactive"
} Это свойство было добавлено в Qt 5.4.
[с 5.4] Window.activeFocusItem : Item
Это присоединённое свойство содержит элемент, у которого в настоящее время активен фокус, или null если нет элемента с активным фокусом. Присоединённое свойство Window может быть присоединённо к любому элементу.
Это свойство было добавлено в Qt 5.4.
[с 5.4] Window.contentItem : Item
Это присоединённое свойство содержит невидимый корневой элемент сцены или null если элемент не находится в окне. Присоединённое свойство Window может быть присоединённо к любому элементу.
Это свойство было добавлено в Qt 5.4.
[с 5.4] Window.visibility : QWindow::Visibility
Это присоединённое свойство содержит, отображается ли окно в настоящее время в системе окон как обычное, свёрнутое, развернутое, полноэкранное или скрытое. Присоединённое свойство Window может быть присоединённо к любому элементу. Если элемент не отображается в каком-либо окне, значение будет Hidden.
Это свойство было добавлено в Qt 5.4.
См. также visible и visibility.
[с 5.7] Window.window : Window
Это присоединённое свойство содержит окно элемента. Присоединённое свойство Window может быть присоединённо к любому элементу.
Это свойство было добавлено в 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 выведет сообщение или отобразит окно сообщения и завершит приложение.
Примечание: Соответствующий обработчик — 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.2/qml-qtquick-window.html