Uzante Kirigami Gallery
Kirigami Galerio estas helpema amiko dum disvolvado de Kirigami-aplikaĵo. Ĝi estas aplikaĵo, kiu uzas kernajn funkciojn de Kirigami, provizas ligilojn al la fontkodo, konsilojn pri kiel uzi Kirigami-komponentojn kaj ligilojn al la respondaj HIG-paĝoj.
Konsileto
Antaŭ ol daŭrigi bonvolu instali Kirigami Gallery. Ĝi jam devus esti en la deponejo de via Linuksa distribuo.Trovi karton kradon
Navigante tra la aplikaĵo Kirigami Gallery, ni renkontos la komponanton de la galerio "Kredvido kun kartoj". Ĉi tio estas ekzemplo, kiu povas esti aplikata al multoblaj uzkazoj, kiel kontaktkartoj.
Elektinte la komponanton de la galerio "Kredvido de kartoj", se ni alklakas la butonon "Informoj" supre dekstre, ni ricevos kelkajn utilajn informojn pri la Karto kaj Abstrakta Karto-tipoj.
En la malsupra sekcio de ĉi tiu informa dialogo ni trovos ankaŭ ligilon al la fontkodo de la "Karda Krado-Vido". Ni navigu al ĉi tiu paĝo.
Efektivigo de karto-krado
Ni reuzos la plej grandan parton de la kodo trovita en la [fontokodo de la komponanto CardsGridViewGallery](https://invent.kde.org/sdk/kirigami-gallery/-/blob/master/src/data/contents/ui/gallery /CardsGridViewGallery.qml). Aparte, ni forigos la kromajn partojn de la OverlaySheet (kiu estas la ŝprucfenestro, kiun ni uzis por atingi la fontkodon de kirigami-galerio).
Do, ni anstataŭigos la
Page
komponanton de main.qml
de nia skeleta aplikaĵo per la sube
ScrollablePage
:
Kirigami.ScrollablePage {
title: i18n("Address book (prototype)")
Kirigami.CardsGridView {
id: view
model: ListModel {
id: mainModel
}
delegate: card
}
}
Kion ni faris ĝis nun estas krei ScrollablePage kaj meti CardsGridView en ĝin, ĉar ni volas montri kradon de Kartoj generitaj de modelo. La datumoj de ĉiu kontakto estas provizitaj de ListModel dum la kartdelegito respondecas pri la prezento de la datumoj. Por pliaj informoj pri modeloj kaj vidoj en Qt Quick, vidu ĉi tie.
Nun ni plenigu la modelon, kiu nutros nian kradvidon per datumoj. En la difino de Kirigami.ScrollablePage , tuj post:
delegate: card
}
aldonu la jenon:
Component.onCompleted: {
mainModel.append({
"firstname": "Pablo",
"lastname": "Doe",
"cellphone": "6300000002",
"email" : "jane-doe@example.com",
"photo": "qrc:/konqi.jpg"
});
mainModel.append({
"firstname": "Paul",
"lastname": "Adams",
"cellphone": "6300000003",
"email" : "paul-adams@example.com",
"photo": "qrc:/katie.jpg"
});
mainModel.append({
"firstname": "John",
"lastname": "Doe",
"cellphone": "6300000001",
"email" : "john-doe@example.com",
"photo": "qrc:/konqi.jpg"
});
mainModel.append({
"firstname": "Ken",
"lastname": "Brown",
"cellphone": "6300000004",
"email" : "ken-brown@example.com",
"photo": "qrc:/konqi.jpg"
});
mainModel.append({
"firstname": "Al",
"lastname": "Anderson",
"cellphone": "6300000005",
"email" : "al-anderson@example.com",
"photo": "qrc:/katie.jpg"
});
mainModel.append({
"firstname": "Kate",
"lastname": "Adams",
"cellphone": "6300000005",
"email" : "kate-adams@example.com",
"photo": "qrc:/konqi.jpg"
});
}
Noto
Rimarku la{}
kiu indikas ke ni aldonas JavaScript-objekton al nia modelo.La modela parto de nia efektivigo estas preta. Ni daŭrigu difini delegiton, kiu respondecos pri montri la datumojn. Do, ni aldonas la sekvan kodon al la paĝo main.qml
, tuj post la
Component.onCompleted
difino:
Component {
id: card
Kirigami.Card {
height: view.cellHeight - Kirigami.Units.largeSpacing
banner {
title: i18nc("@title", "%1 %2", model.firstname, model.lastname)
titleIcon: "im-user"
}
contentItem: Column {
id: content
spacing: Kirigami.Units.smallSpacing
Controls.Label {
wrapMode: Text.WordWrap
text: i18nc("@label", "Mobile: %1", model.cellphone)
}
Controls.Label {
wrapMode: Text.WordWrap
text: i18nc("@label", "Email: %1", model.email)
}
}
}
}
Sekvante la rilatajn informojn en la Kirigami.Card API-paĝo , ni plenigas " standardo " kiu funkcios kiel kaplinio por montri la nomo de la kontakto kaj ankaŭ kontaktpiktogramo.
La ĉefa enhavo de la karto estis plenigita kun la poŝtelefonnumero kaj la retpoŝto de la kontakto, strukturita kiel Kolumno de Etikedoj .
La aplikaĵo devus aspekti jene:
Konsileto
Vi povas trovi la plenan fontkodon de la lernilo ĉe invent.kde.org.Kiel lasta paŝo ni aldonos iun imitan funkcion al ĉiu karto. Precipe voko
Ago
estos aldonita. Tamen, anstataŭ vera voko, pasiva sciigo estos montrata. Do, ni ŝanĝu la komponanton "karto" al la jena:
|
|
Do, ni aldonis Kirigami.Action kiu, tuj kiam ĝi estas ekigita (premante la agbutonon), montras pasivan sciigon .
Rezulto
Fine, nia aplikaĵo devus aspekti jene:
|
|