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