Postavitve obrazcev

Preprosto ustvarite privlačna področja interakcije z Kirigami FormLayouts

Komponente 'Kirigami.FormLayout' vam olajšajo ustvarjanje obrazcev, ki so skladni s smernicami uporabniškega vmesnika KDE. Optimalne so za pogovorna okna nastavitev in za velike skupine kontrolnikov in vnosnih polj, ki so povezana med seboj.

Če je na voljo dovolj prostora, bodo postavitve obrazcev privzele dva stolpca. Stolpec na levi bo zaseden z oznakami, ki so predvidene za sestavne dele obrazca za odvisne komponente, desno pa bodo prevzeli sami odvisni deli. V oknih z več prostorske omejitve (ali na mobilnih napravah) bodo obrazci sestavljeni iz enega navpičnega stolpca z oznakami za odvisne komponente, ki so nameščene nad njihovo ustrezno komponento.

Enostavna oblika

Komponente 'Kirigami.FormLayout' so v uporabi podobne komponentam QtQuick Layout, kot so 'ColumnLayout' ali 'RowLayout'. Odvisne komponente bodo samodejno razporejene glede na velikost, ki je na voljo za postavitev obrazca.

Odvisne komponente 'Kirigami.FormLayout' imajo nastanitev z imenom 'Kirigami.FormData.label'. S to lastnostjo lahko nastavite oznako, ki bo zagotovljena za zadevno odvisno komponento.

import QtQuick 2.6
import QtQuick.Layouts 1.2
import QtQuick.Controls 2.2 as Controls
import org.kde.kirigami 2.4 as Kirigami

Kirigami.Page {

    Kirigami.FormLayout {
        id: layout
        Layout.fillWidth: true

        Controls.TextField {
            Kirigami.FormData.label: "TextField 1:"
        }
        Controls.TextField {
            Kirigami.FormData.label: "TextField 2:"
        }
        Controls.TextField {
            Kirigami.FormData.label: "TextField 3:"
        }
    }

}
Preprosta postavitev obrazca

Odseki in ločila

FormLayouts lahko razdelite tudi na odseke. Nastavitev, kjer se začne odsek, je tako preprosta, kot je nastavitev resničnega dela podrejene komponente »Kirigami.FormData.isSection«. To bo komponenti zagotovilo nekaj dodatnega roba na vrhu, da razmeji začetek novega odseka.

Komponente »Kirigami.Separator« so najprimernejše za začetek novih odsekov. Ločilo »Kirigami.Separator« bo narisalo tanko vodoravno črto, ki bo razmejila konec odseka. Če raje ne bi imeli črte med odseki, lahko uporabite standardno lastnost QML »Item«. Poleg tega lahko uporabite lastnost »Kirigami.FormData.isSection« na poljubni drugi komponenti.

Vendar pa to ni priporočljivo. V komponentah, kjer je »Kirigami.FormData.isSection« nastavljeno na true, bo besedilo oznake, ki je določeno za lastnost »Kirigami.FormData.label« te komponente, prikazano kot besedilo glave odseka. To ne velja za vsako komponento, zato je priporočilo, da uporabljate komponente »Kirigami.Separator« ali »Item« na mestih, kjer želite uporabiti besedilo glave. To besedilo glave je večje od običajnega besedila oznake in uporabnikom zagotavlja lepo vizualno iztočnico o tem, o čem gre v razdelku postavitve obrazca.

Kirigami.FormLayout {
    id: layout
    Layout.fillWidth: true

    Controls.TextField {
        Kirigami.FormData.label: "TextField 1:"
    }
    Controls.TextField {
        Kirigami.FormData.label: "TextField 2:"
    }
    Controls.TextField {
        Kirigami.FormData.label: "TextField 3:"
    }
    Kirigami.Separator {
        Kirigami.FormData.isSection: true
        Kirigami.FormData.label: "New Section!"
    }
    ColumnLayout {
        Kirigami.FormData.label: "Radio buttons"
        Controls.RadioButton {
            text: "Radio 1"
            checked: true
        }
        Controls.RadioButton {
            text: "Radio 2"
        }
        Controls.RadioButton {
            text: "Radio 3"
        }
    }
    Item {
        Kirigami.FormData.isSection: true
        Kirigami.FormData.label: "Another Section! (lineless though)"
    }
    Controls.TextField {
        Kirigami.FormData.label: "TextField 4:"
    }
    Controls.TextField {
        Kirigami.FormData.label: "TextField 5:"
    }
    Controls.TextField {
        Kirigami.FormData.label: "TextField 5:"
    }
}
Postavitev obrazca z odseki

Podrejeni, ki jih je mogoče odkljukati

Priročna funkcija 'Kirigami.FormLayout' je, da lahko dodate potrditvena polja svojim odvisnim delom. To je lahko uporabno na straneh z nastavitvami, na katerih boste morda želeli dovoliti uporabniku omogočiti ali onemogočiti nastavitev, poleg tega pa želite, da uporabnik v komponenti, kot je polje z besedilom, zagotovi nekaj dodatnih informacij.

Kirigami.FormLayout {
    id: layout
    Layout.fillWidth: true

    Controls.TextField {
        Kirigami.FormData.label: "First name:"
    }
    Controls.TextField {
        Kirigami.FormData.label: "Middle name:"
        Kirigami.FormData.checkable: true
        enabled: Kirigami.FormData.checked
    }
    Controls.TextField {
        Kirigami.FormData.label: "Last name:"
    }
}
Postavitev obrazca s preverljivim odvisnim delom

Vsiljena namizna ali mobilna postavitev

Če želite, da postavitev obrazca ostane skladna ne glede na okolje aplikacije, lahko uporabite lastnost 'wideMode' komponente 'Kirigami.FormLayout'. 'wideMode' je boolova lastnost:

  • Ko je nastavljena na 'true', bo postavitev obrazca strukturirana v postavitvi širokega zaslona (dvojnega stolpca) z optimizacijo namizja
  • Ko je nastavljena na 'false', bo postavitev obrazca strukturirana v mobilni postavitvi (en stolpec)
Kirigami.FormLayout {
    id: layout
    Layout.fillWidth: true
    wideMode: false

    Controls.TextField {
        Kirigami.FormData.label: "TextField 1:"
    }
    Controls.TextField {
        Kirigami.FormData.label: "TextField 2:"
    }
    Controls.TextField {
        Kirigami.FormData.label: "TextField 3:"
    }
}
Postavitev obrazca s prisilno mobilno postavitvijo