Akcie
Rekapitulácia
Doteraz sme vytvorili jednoduchú aplikáciu, ktorá dokáže zobrazovať karty. Momentálne však neexistuje spôsob, ako by používateľ mohol pridať nové karty do zobrazenia kariet.
V tomto tutoriáli sa pozrieme na akcie Kirigami. Pomôžu nám pridať interaktivitu do našej aplikácie konzistentným, rýchlym a prístupným spôsobom.
Akcie
Kirigami.Action zapuzdruje akciu používateľského rozhrania. Môžeme ich použiť na poskytnutie ľahko dostupných akcií, ktoré sú nevyhnutné pre funkčnosť našich aplikácií.
Ak ste už predtým používali aplikácie Kirigami, určite ste interagovali s akciami Kirigami. Na tomto obrázku vidíme akcie napravo od názvu stránky s rôznymi ikonami. Akcie Kirigami sa dajú zobraziť niekoľkými spôsobmi a môžu robiť širokú škálu vecí.


Akcie
Aplikácia na odpočítavanie je celkom zbytočná bez možnosti pridávať odpočítavania. Vytvorme akciu, ktorá nám to umožní.
pageStack.initialPage: Kirigami.ScrollablePage {
// Ďalšie vlastnosti stránky...
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
})
}
]
// ...
}Umiestňujeme našu Kirigami.Action do hlavnej stránky z predchádzajúcich tutoriálov. Keby sme chceli, mohli by sme pridať viac akcií na našu stránku (a dokonca vnoriť akcie do akcií!).
Zátvorky [] použité vyššie sú podobné poliam JavaScript, čo znamená, že im môžete odovzdať jednu alebo viac vecí, oddelených čiarkou:
// Všeobecné pole komponentov v JavaScripte:
variable: [ component1, component2 ]
// Odovzdanie poľa akcií Kirigami do QML:
actions: [ Kirigami.Action {}, Kirigami.Action {} ]Vlastnosti id a text by mali byť známe z predchádzajúcich tutoriálov. Avšak zdedená vlastnosť Action.icon by mala byť zaujímavá: je to objekt s niekoľkými vlastnosťami, ktoré vám umožňujú zobrazovať určité ikony pre vaše akcie. Našťastie, na použitie ikon KDE stačí poskytnúť vlastnosť name pre vlastnosť icon, icon.name.
Zobrazenie dostupných ikon
Click here to see how to check the available icons on your system
Icon Explorer is a KDE application that lets you view all the icons that you can use for your application. It offers a number of useful features such as previews of their appearance across different installed themes, previews at different sizes, and more. You might find it a useful tool when deciding on which icons to use in your application.
Mnohé ikony KDE sa riadia špecifikáciou FreeDesktop Icon Naming. Preto vám môže byť užitočné nahliadnuť na webovú stránku projektu FreeDesktop, kde sú uvedené všetky medzidesktopové kompatibilné názvy ikon.
Obsluha signálu onTriggered je najdôležitejšia. Toto je to, čo naša akcia vykoná pri použití. Všimnete si, že v našom príklade používame metódu kountdownModel.append modelu kountdownModel, ktorý sme vytvorili v predchádzajúcom tutoriáli. Táto metóda nám umožňuje pripojiť nový prvok do nášho modelu zoznamu. Poskytujeme jej objekt (označený zloženými zátvorkami {}), ktorý má príslušné vlastnosti pre naše odpočítavania (name, description a zástupný date).

Zakaždým, keď klikneme na tlačidlo "Add kountdown" vpravo hore, pridá sa naše vlastné odpočítavanie

Mobilná verzia
Zásuvky
Ďalším komponentom je Kirigami.GlobalDrawer. Zobrazuje sa ako hamburgerové menu. Predvolene otvára bočný panel, čo je obzvlášť užitočné na mobile, pretože používateľ môže jednoducho potiahnutím na strane obrazovky otvoriť ho. Globálne zásuvky sú užitočné pre globálnu navigáciu a akcie. Vytvoríme jednoduchú globálnu zásuvku, ktorá obsahuje tlačidlo na ukončenie.
Kirigami.ApplicationWindow {
id: root
// Ďalšie vlastnosti okna...
globalDrawer: Kirigami.GlobalDrawer {
isMenu: true
actions: [
Kirigami.Action {
text: i18n("Quit")
icon.name: "application-exit-symbolic"
shortcut: StandardKey.Quit
onTriggered: Qt.quit()
}
]
}
// ...
}Tu umiestňujeme našu globálnu zásuvku do okna aplikácie. Hlavnou vlastnosťou, na ktorú musíme dávať pozor, je GlobalDrawer.actions, ktorá má formu poľa komponentov Kirigami.Action. Táto akcia má príslušnú ikonu a pri spustení vykoná funkciu Qt.quit(), čím zatvorí aplikáciu.
Keďže našu globálnu zásuvku zatiaľ udržiavame jednoduchú, nastavujeme vlastnosť GlobalDrawer.isMenu na true. Toto zobrazí našu globálnu zásuvku ako normálne menu aplikácie, zaberajúc menej miesta ako predvolený panel globálnej zásuvky.

Zásuvky

Zásuvky
Hore
Stránka Komponenty založené na akciách v tejto dokumentácii poskytuje ďalšie podrobnosti o akciách Kirigami a o tom, ako sa dajú použiť.Komponenty
Komponenty Kirigami sú navrhnuté takým spôsobom, že miesto, kde umiestnite akcie Kirigami, je relevantné. Ako je vidieť vyššie, ak pridáte akcie na Kirigami.Page, Kirigami.ScrollablePage alebo akýkoľvek iný odvodený komponent Page, zobrazia sa na pravej strane hlavičky v desktopovom režime a na spodku v mobilnom režime.
Podobne, ak sa akcie Kirigami pridajú do Kirigami.GlobalDrawer, zobrazia sa vo výslednej zásuvke alebo menu.
Ďalšie príklady akcií Kirigami, ktoré sa zobrazujú odlišne v závislosti od rodičovského komponentu:
- Kirigami.ContextDrawer - Tutoriál ContextDrawer tu
- Kirigami.AbstractCard a deriváty - Tutoriál Card tu
- Kirigami.Dialog a deriváty - Tutoriál Dialog tu
- Kirigami.ActionToolBar - Tutoriál ActionToolBar tu
Kirigami
Naša aplikácia doteraz
Main.qml:
| |