Klarigante paĝojn

Paĝoj permesas al vi organizi vian aplikaĵenhavon

Nia apo

En la antaŭa lernilo, ni sukcesis agordi, konstrui kaj kompili nian unuan Kirigami-aplikaĵon. Kun la bazaĵoj en la loko, ni povas komenci nian vojaĝon al kreado de plene prezentita aplikaĵo.

Ĉi tiuj lerniloj koncentriĝos pri kreado de aplikaĵo, kiu ebligas al la uzanto vidi kiom da tagoj restas ĝis evento de ilia elekto. Tio ne signifas, ke vi ne devas devii kaj provi krei vian propran aferon! Nur certigu, ke vi tre atentas kiel la aferoj funkcias unue, por ke vi povu ĝustigi kiam aferoj estas malsamaj en via propra kodo. Ni ankaŭ rekomendas vin kontroli la Kirigami Gallery, kiu provizas kelkajn utilajn UI-ekzemplojn kaj facilan aliron al la tuta kodo.

En ĉi tiu sekcio ni koncentriĝos pri paĝoj, unu el la ŝlosilaj strukturaj elementoj de iu ajn Kirigami-apliko.

Paĝoj

Kirigami-aplikoj estas kutime organizitaj en Paĝoj . Tiuj estas la malsamaj "ekranoj" de aplikaĵo. Vi volas havi paĝon dediĉitan al specifaj aspektoj de la interago de via programo, kaj por faciligi la aferojn vi povas krei malsamajn QML-dosierojn, unu por ĉiu paĝo.

Paĝoj estas organizitaj en paĝa stako kie ili povas esti puŝitaj kaj ŝtopitaj. Sur telefono nur la plej supra paĝo estas montrata, dum sur pli granda ekrano (skribotablo aŭ tablojdo), se vi volas, pluraj paĝoj povas esti montritaj unu apud la alia.

Ununura paĝo en la telefono

Du paĝoj unu apud la alia sur la labortablo

Ni reiru al la dosiero main.qml, kiun ni kreis en nia antaŭa lernilo:

 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!")
        }
    }
}

Ni igas nian aplikaĵon komenciĝi al nia Kirigami.Paĝo . Ĉio, kion ni enmetis en ĝi, estas etikedo enhavanta "Saluton Mondo", sed ni iom plibonigos aferojn.

La ideo malantaŭ nia programo estas, ke ni povos montri amason da retronombradoj al la uzanto. La problemo kun normala Kirigami.Paĝo estas, ke ĝi havas fiksan vertikalan grandecon, sed ne zorgu: Kirigami ankaŭ subtenas ruleblajn paĝojn. Kirigami.ScrollablePage estos nia ĉefa paĝo nun.

 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")
    }
}

Kirigami-paĝoj ankaŭ prezentas bonordajn titolojn metitaj ene de la ilobreto, rapide indikante al la uzanto sur kiu paĝo ili estas. Ĉio, kion ni devas fari, estas agordi paĝotitolon per la titolo-propreco de Kirigami.ScrollablePage . En ĉi tiu kazo, ni uzis unu el la funkcioj i18nc(), kiujn ni esploris en nia antaŭa lernilo tiucele.