Dodajanje dejanj
Povzetek
Doslej smo zgradili preprosto aplikacijo, ki lahko prikazuje kartice. Vendar uporabnik trenutno ne more dodati novih kartic v pogled kartic.
V tem učbeniku, bomo videli akcije Kirigami. Te nam bodo pomagale dodati interaktivnost v našo aplikacijo na dosleden, hiter in dostopen način.
Dejanja
Kirigami.Action vsebuje dejanje uporabniškega vmesnika. Z njimi lahko našim aplikacijam zagotovimo enostavno dostopna dejanja, ki so bistvena za njihovo funkcionalnost.
Če ste že prej uporabljali aplikacije Kirigami, ste zagotovo že spoznali interakcijo z Kirigami Actions. Na tej sliki lahko vidimo dejanja na desni strani naslova z različnimi ikonami. Kirigami Actions lahko prikažemo na več načinov in lahko naredijo veliko različnih stvari.
Dodajanje odštevanj
Aplikacija za odštevanje je precej neuporabna brez možnosti dodajanja odštevanja. Ustvarimo akcijo, ki nam bo to dovolila.
pageStack.initialPage: Kirigami.ScrollablePage {
// Druge lastnosti strani...
actions: [
Kirigami.Action {
id: addAction
icon.name: "list-add-symbolic"
text: i18nc("@action:button", "Add kountdown")
onTriggered: kountdownModel.append({
name: "Kirigami Action added card!",
description: "Congratulations, your Kirigami Action works!",
date: 1000
})
}
]
// ...
}
Naše Kirigami.Action postavljamo na glavno stran iz prejšnjih učbenikov. Če bi želeli, bi lahko naši strani dodali več dejanj (in celo ugnezdili dejanja znotraj dejanj!).
Zgoraj uporabljeni oklepaji []
so podobni poljem JavaScript, kar pomeni, da jim lahko posredujete eno ali več stvari, ločenih z vejico:
// Splošno polje komponent JavaScript:
variable: [ component1, component2 ]
// Posredovanje niza dejanj Kirigami v QML:
actions: [ Kirigami.Action {}, Kirigami.Action {} ]
Lastnosti id
in text
morate poznati iz prejšnjih vadnic. Vendar bi morala biti podedovana lastnost Action.icon zanimiva: gre za objekt z več lastnostmi omogoča prikaz določenih ikon za vaša dejanja. Na srečo moramo za uporabo ikon KDE zagotoviti samo lastnost imena za lastnost ikone, icon.name
.
Ogled razpoložljivih ikon
Cuttlefish je aplikacija KDE, ki vam omogoča ogled vseh ikon, ki jih lahko uporabite za svojo aplikacijo. Ponuja številne uporabne funkcije, kot so predogled njihovega videza v različnih nameščenih temah, predogledi v različnih velikostih in drugo. Morda se vam zdi uporabno orodje, ko se odločate, katere ikone boste uporabili v svoji aplikaciji.
Mnoge ikone KDE sledijo specifikaciji poimenovanja ikon FreeDesktop. Zato se utegne biti tudi koristno, da se posvetujete s spletnim mestom projekta FreeDesktop, ki na svoji spletni strani našteva vsa imena združljivih ikon.
Prožilnik onTriggered je najpomembnejši. To bo naredila naša dejavnost, ko bo uporabljena. Opazili boste, da v našem primeru uporabljamo metodo kountdownModel.append modela 'kountdownModel', ki smo ga ustvarili v prejšnjih vajah. S to metodo lahko v naš model seznama priložimo nov element. Ponujamo mu predmet, ki ima ustrezne lastnosti za naše odštevanje (ime - name
, opis - description
in datum bodoče lokacije - placeholder date
).
Globalni predal
Naslednja komponenta je Kirigami.GlobalDrawer. Prikaže se kot hamburger meni. Privzeto odpre stransko vrstico, kar je še posebej uporabno na mobilnih napravah, saj lahko uporabnik samo potegne ob strani zaslona, da jo odpre. Globalni predali so uporabni za globalno navigacijo in dejanja. Ustvarili bomo preprost globalni predal, ki vključuje gumb "quit".
Kirigami.ApplicationWindow {
id: root
// Druge lastnosti oken...
globalDrawer: Kirigami.GlobalDrawer {
isMenu: true
actions: [
Kirigami.Action {
text: i18n("Quit")
icon.name: "application-exit-symbolic"
shortcut: StandardKey.Quit
onTriggered: Qt.quit()
}
]
}
// ...
}
Tukaj smo dali naš globalni predal v okno aplikacije. Glavna lastnost, na katero moramo biti pozorni, so dejavnosti GlobalDrawer.actions, ki so v obliki elementov vektorja komponent Kirigami.Action. To dejanje ima ustrezno ikono in sproži funkcijo Qt.quit() in zapre program.
Ker za zdaj ohranjamo naš globalni predal preprost, postavljamo lastnost GlobalDrawer.isMenu na true. To prikazuje naš globalni predal kot običajni meni aplikacije, ki zavzame manj prostora kot privzeto podokno globalnega predala.
Nasvet
Stran Actions based componentsv teh dokumentih vsebuje dodatne podrobnosti o dejanjih Kirigami in načinu, kako jih je mogoče uporabiti.Dejanja so kontekstualna
Komponente Kirigami so zasnovane tako, da je mesto, kamor postavite Kirigami Actions, ustrezno. Kot je prikazano zgoraj, če dodate dejanja v Kirigami.Page, Kirigami.ScrollablePage ali katero koli drugo izpeljano komponento strani, se bodo prikazala na desni strani glave v namiznem načinu in na dnu v mobilnem načinu.
Podobno, če so dejanja Kirigami dodana v Kirigami.GlobalDrawer, bodo prikazana v nastalem predalu ali meniju.
Drugi primeri dejanj Kirigami, ki se prikazujejo drugače glede na njihovo nadrejeno komponento, so:
- Kirigami.ContextDrawer - Učbenik za ContextDrawer
- Kirigami.AbstractCard in izpeljanke - Učbenik za kartice
- Kirigami.Dialog in izpeljanke - Učbenik Dialoga
- Kirigami.ActionToolBar - Učbenik ActionToolBar
Med drugimi komponentami Kirigami.
Naša aplikacija do sedaj
Main.qml:
|
|