Vrstice strani in skladi strani

Dodajanje toka v aplikacijo: dodajanje, odstranjevanje in zamenjava strani na različne načine

Vrstica strani PageRow

[PageRow](docs:kirigami2; PageRow) je vsebnik, ki postavi elemente vodoravno v vrstici. Če vsi otroški elementi ne ustrezajo [PageRow](docs:kirigami2; PageRow), se bo obnašal kot 'Flickable' površine in bo postal vodoravni pomikajoč pogled stolpcev.

A Vrstica strani lahko prikaže eno stran ali več njih kot stolpce, odvisno od širine okna. Na telefonu bo viden en stolpec, v tabličnem računalniku ali namizju pa mora biti hkrati vidnih več stolpcev kot le eden.

Stolpci imajo lahko vsi enako fiksno velikost, samodejno z 'implicitWidth' ali pa se samodejno razširijo tako, da zavzamejo vso razpoložljivo širino. Privzeto se bo zadnji stolpec razširil in zavzel ves razpoložljivi prostor.

Posnetek zaslona Vrstica strani (PageRow)

Do metod pogleda stolpcev lahko dostopate iz lastnosti 'pageStack' v vaši [Kirigami.ApplicationWindow](docs:kirigami2; ApplicationWindow) element ali od kjerkoli drugje z uporabo "applicationWindow().pageStack".

Začetna stran se doda z lastnostjo 'pageStack.initialPage'. Kot primer: v preprosti aplikaciji, ki je od uporabnika zahtevala preverjanje pristnosti, bi bila začetna stran stran za prijavo.

Kirigami.ApplicationWindow {
    pageStack.initialPage: LoginPage {}
}

Ko se uporabnik prijavi v aplikacijo, morate to stran za prijavo zamenjati z domačo stranjo aplikacije. Če želite to storiti, uporabite 'pageStack.replace', odstranite Stran za prijavo in jo zamenjate z Domačo stranjo.

// PrijavaPage.qml
Kirigami.Page {
    // obrazec za prijavo

    Button {
        onClicked: {
            const user = Backend.authentificate(usernameField.text, passwordField.text);
            if (user) {
                applicationWindow().pageStack.replace("qrc:/HomePage.qml", {
                    user: user, // dajte informacije o registriranem uporabniku domačo stran
                });
            } else {
                // prikaži sporočilo o napaki
            }
        }
    }
}

Predstavljajmo si, da bi imeli konfiguracijsko stran, do katere bi jo želeli, da uporabnik dostopa iz domače strani. Želeli bi, da se uporabnik spet vrne na Domačo stran, tako da ne morete uporabiti zamenjave - 'replace'. Namesto tega bi uporabili 'push za potiskanje nove strani na sklad.

// ConfigurationPage.qml
Kirigami.Page {
    required property string var1
}
// HomePage.qml
applicationWindow().pageStack.push("qrc:/MyPage.qml", {
    'var1': 'Hello',
});

Lahko tudi:

  • [pop](docs:kirigami2;PageRow::p op) stran (ki odstrani zadnjo stran v skladu) ali
  • uporabi insertPage , če želite vstaviti stran na določenem mestu na sklad,
  • uporabi movePage za premikanje določenih strani znotraj sklada ali
  • clear počisti vse strani iz sklada.

Spremenite lahko tudi 'currentIndex' da programsko spremenite trenutno aktivno stran ali uporabite flickBack za simuliranje premikanja strani nazaj v sklad.

Sloji

Za zdaj smo videli le vodoravno krmarjenje, ki deluje v 2-dimenzionalnem skladu. S pomočjo plasti v aplikaciji lahko v aplikacijo potisnete celozaslonsko stran.

V tem primeru je hkrati na mobilnikum in na namizju vidna le ena stran.

Plasti so dostopne iz »pageStack.layers« in uporabljajo isti API kot »pageStack«.