Explaining pages

As páginas permitem-lhe organizar o conteúdo da sua aplicação

A nossa aplicação

No tutorial anterior, conseguimos configurar, criar e compilar a nossa primeira aplicação em Kirigami. Com as bases instaladas, poderemos iniciar a nossa viagem para a criação de uma aplicação cheia de funcionalidades.

Estes tutoriais focar-se-ão na criação de uma aplicação que permite ao utilizador ver quantos dias faltam até à chegada de um evento à sua escolha. Isto não significa que você não se deva desviar e tentar criar as suas próprias coisas! Simplesmente preste atenção à forma como as coisas funcionam primeiro, podendo depois ajustar essas coisas de forma diferente no seu próprio código. Também recomendamos que consulte a Galeria do Kirigami, que oferece um conjunto de exemplos úteis de interfaces, com acesso fácil a todo o código.

Nesta secção focar-nos-emos nas páginas, um dos elementos-chave estruturais de qualquer aplicação de Kirigami.

Páginas

As aplicações do Kirigami normalmente estão organizadas em Pages (páginas). Estes são os diferentes "ecrãs" de uma aplicação. Irá querer ter uma página dedicada a aspectos específicos da interacção com a sua aplicação, e poderá criar ficheiros QML diferentes, contendo cada um o código para as páginas separadas.

As páginas estão organizadas numa pilha de páginas onde se poderão inserir e retirar páginas. Num telemóvel, só a página de topo é que aparece, enquanto que num ecrã maior (computador ou 'tablet') poderão ser vistas várias páginas umas a seguir às outras.

Uma única página no telemóvel

Duas páginas, uma a seguir à outra no computador

Voltemos ao ficheiro main.qml que criámos no nosso tutorial anterior:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Includes relevant modules used by the QML
import QtQuick 2.15
import QtQuick.Controls 2.15 as Controls
import QtQuick.Layouts 1.15
import org.kde.kirigami 2.20 as Kirigami

// Provides basic features needed for all kirigami applications
Kirigami.ApplicationWindow {
    // Unique identifier to reference this object
    id: root

    // Window title
    // i18nc() makes a string translatable
    // and provides additional context for the translators
    title: i18nc("@title:window", "Hello World")

    // Set the first page that will be loaded when the app opens
    // This can also be set to an id of a Kirigami.Page
    pageStack.initialPage: Kirigami.Page {
        Controls.Label {
            // Center label horizontally and vertically within parent object
            anchors.centerIn: parent
            text: i18n("Hello World!")
        }
    }
}

Faremos com que a nossa aplicação comece com a nossa Kirigami.Page . Tudo o que temos incluído nela é um texto que diz 'Hello World', mas iremos apurar as coisas um pouco mais.

A ideia por trás da nossa aplicação é que seremos capazes de mostrar um conjunto de contagens decrescentes ao utilizador. O problema com uma Kirigami.Page normal é que a mesma tem um tamanho vertical fixo, mas não se preocupe: o Kirigami também suporta páginas com deslocamento. A Kirigami.ScrollablePage irá substituir agora a nossa página principal.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import QtQuick 2.15
import QtQuick.Controls 2.15 as Controls
import QtQuick.Layouts 1.15
import org.kde.kirigami 2.20 as Kirigami

Kirigami.ApplicationWindow {
    id: root

    title: i18nc("@title:window", "Day Kountdown")

    pageStack.initialPage: Kirigami.ScrollablePage {
        title: i18nc("@title", "Kountdown")
    }
}

As páginas do Kirigami também possuem títulos bonitos dentro da barra de ferramentas, que indicam rapidamente ao utilizador em que página ele se encontra. Tudo o que tem a fazer é definir um título para a página com a propriedade title do Kirigami.ScrollablePage . Neste caso, foi usada uma das funções i18nc() que explorámos no nosso tutorial anterior para este fim.