Объяснение страниц
Наше приложение
В предыдущем руководстве удалось настроить, собрать и скомпилировать первое приложение Kirigami. Когда основы освоены, можно приступить к созданию полнофункционального приложения.
Эти руководства будут посвящены созданию приложения, позволяющего пользователю видеть, сколько дней осталось до выбранного события.
Также рекомендуется ознакомиться с Kirigami Gallery, где представлен ряд полезных примеров интерфейса.
В этом разделе основное внимание будет уделено страницам — одному из ключевых структурных элементов любого приложения Kirigami.
Страницы
Приложения Kirigami обычно организуются в страницы с помощью Kirigami.Page. Страницы — это различные «экраны» приложения. Для отдельных аспектов взаимодействия приложения стоит предусмотреть отдельную страницу, а чтобы упростить задачу, можно создать отдельные файлы QML для каждой страницы.
Страницы организуются в стек страниц, куда их можно помещать и откуда извлекать. На телефоне показывается только самая верхняя страница, тогда как на большом экране (настольный компьютер или планшет) при желании можно показывать несколько страниц рядом друг с другом.

Одна страница на телефоне

Две страницы рядом друг с другом на рабочем столе
Примечание
Kirigami.Page наследуется от Controls.Page, поэтому можно использовать и свойства последнего.
При просмотре документации по API QML следует также обратить внимание на функции и свойства, унаследованные от рассматриваемого API.
Вернёмся к файлу Main.qml, созданному в предыдущем руководстве:
| |
Сделаем так, чтобы при запуске приложение открывало нашу Kirigami.Page. Всё, что в неё включено, — это надпись с текстом «Hello World», но вскоре всё это будет немного приукрашено.
Замысел приложения состоит в том, чтобы показывать пользователю множество обратных отсчётов. Проблема обычной Kirigami.Page в том, что она имеет фиксированный вертикальный размер, поэтому вместо неё можно использовать Kirigami.ScrollablePage, которая уже оснащена встроенной полосой прокрутки.
| |
Страницы Kirigami также имеют аккуратные заголовки, размещённые на панели инструментов, которые быстро показывают пользователю, на какой странице он находится. Всё, что нужно сделать, — задать заголовок страницы с помощью свойства title у Kirigami.ScrollablePage. В этом случае была использована одна из функций i18nc(), рассмотренных в предыдущем руководстве.
Примечание
Страницу можно также определить в отдельном документе QML. Для этого нужно создать новый файл QML, например kirigami-tutorial/src/qml/StartPage.qml, добавить его в файл kirigami-tutorial/src/CMakeLists.txt и задать первую страницу окна для его загрузки, например так:
pageStack.initialPage: Qt.resolvedUrl("StartPage.qml")pageStack.initialPage задаёт начальную страницу стека страниц приложения, а Qt.resolvedUrl преобразует относительный URL-адрес файла QML в абсолютный.
Дополнительные сведения об альтернативных структурах страниц приведены в документации Kirigami.