Farby a témy v Kirigami
Kirigami má paletu farieb, ktorá nasleduje systémové farby pre lepšiu integráciu s platformou, na ktorej beží (t.j. Plasma Desktop, Plasma Mobile, GNOME, Android atď.).
Všetky QML komponenty Kirigami a QtQuick Controls by už mali túto paletu nasledovať predvolene, takže zvyčajne nie je potrebné vlastné farbenie pre tieto ovládacie prvky.
Primitívne komponenty ako Rectangle by mali byť vždy farbené paletou farieb poskytovanou Kirigami cez pripojenú vlastnosť Kirigami.Theme.
Pevne zakódované farby v QML, ako #32b2fa alebo red, by sa mali zvyčajne vyhýbať; ak je naozaj potrebné mať prvky s vlastnými farbami, mala by to byť oblasť, kde sa používajú iba vlastné farby (zvyčajne v oblasti obsahu aplikácie a nikdy v chrómových oblastiach ako panely nástrojov alebo dialógy). Napríklad pevne zakódovaná black na popredí sa nemôže použiť na pozadí Kirigami.Theme.backgroundColor, pretože ak platforma používa tmavú farebnú schému, výsledok bude mať slabý kontrast s čiernou na takmer čiernom. Toto je problém prístupnosti a malo by sa mu vyhnúť.
Poznámka
Ak naozaj potrebujete použiť vlastné farby, pozrite si Kontrast, aby ste sa uistili, že farby, ktoré si vyberiete, majú dobrý kontrast a sú v súlade s WCAG.Téma
Kirigami.Theme je pripojená vlastnosť a preto je dostupná na použitie pre akýkoľvek QML prvok. Jej vlastnosti zahŕňajú všetky farby dostupné v palete a akú paletu použiť, ako napríklad vlastnosť colorSet.
import QtQuick
import org.kde.kirigami as Kirigami
Kirigami.ApplicationWindow {
height: 300
width: 400
pageStack.initialPage: Kirigami.Page {
Rectangle {
anchors.centerIn: parent
implicitHeight: 100
implicitWidth: 200
color: Kirigami.Theme.highlightColor
}
}
}Kirigami Gallery poskytuje príklad kódu prezentujúci všetky farby dostupné pre Kirigami cez Kirigami.Theme. Toto zahŕňa všetky ich stavy: ak kliknete mimo okna, farby sa zmenia na ich neaktívny stav, a ak prepnete svoj systém na tmavú tému, tmavé varianty farieb by sa mali zobraziť v reálnom čase.

Komponent Colors v galérii Kirigami
Farebná sada
V závislosti od toho, kde sa ovládací prvok nachádza, mal by používať inú sadu farieb: napríklad, keď sa použije svetlá farebná schéma Breeze v Zobrazeniach, normálne pozadie je takmer biele, zatiaľ čo v iných oblastiach, ako sú panely nástrojov alebo dialógy, je normálna farba pozadia sivá.
Ak definujete sadu farieb pre prvok, všetky jeho potomkovské prvky ju automaticky rekurzívne zdedia (pokiaľ vlastnosť inherit nebola explicitne nastavená na false, čo by sa malo vždy urobiť, keď chce vývojár vynútiť konkrétnu sadu farieb), takže je jednoduché zmeniť farby pre celú hierarchiu prvkov bez dotyku samotných prvkov.
Kirigami.Theme podporuje 5 rôznych sád farieb:
- View: Sada farieb pre zobrazenia položiek, zvyčajne najsvetlejšia zo všetkých (v svetlých farebných témach)
- Window: Sada farieb pre okná a chrómové oblasti (toto je tiež predvolená sada farieb)
- Button: Farebná sada používaná tlačidlami
- Selection: Farebná sada používaná vybranými oblasťami
- Tooltip: Farebná sada používaná tooltipmi
- Complementary: Sada farieb určená ako doplnková k Window: zvyčajne tmavá aj v svetlých témach. Môže sa použiť na zdôraznenie v malých oblastiach aplikácie
Tu je príklad prezentujúci, ako sa sady farieb dedia a dajú sa použiť na rozlíšenie rôznych komponentov. Pre kontrast farieb bol pridaný veľký okraj.
| |

Ako sa farebné sady líšia v Breeze

Ako sa farebné sady líšia v Breeze Dark
Použitie vlastných farieb
Aj keď sa neodporúča používať pevne zakódované farby, Kirigami ponúka udržiavateľnejší spôsob priradenia vlastnej pevne zakódovanej palety prvku a všetkým jeho potomkom, čo umožňuje definovať takéto vlastné farby na jednom mieste a jedinom:
import QtQuick
import org.kde.kirigami as Kirigami
Kirigami.ApplicationWindow {
title: "Custom colors"
height: 300
width: 300
Rectangle {
anchors.fill: parent
Kirigami.Theme.inherit: false
// POZNÁMKA: bez ohľadu na použitú sadu farieb sa odporúča nahradiť všetky dostupné farby v
// Theme, aby sa predišlo zle kontrastujúcim farbám
Kirigami.Theme.colorSet: Kirigami.Theme.Window
Kirigami.Theme.backgroundColor: "#b9d795"
Kirigami.Theme.textColor: "#465c2b"
Kirigami.Theme.highlightColor: "#89e51c"
// Predefinujte všetky ostatné farby, ktoré chcete
// Toto bude "#b9d795"
color: Kirigami.Theme.backgroundColor
Rectangle {
// Toto bude "#465c2b"
anchors.centerIn: parent
height: Math.round(parent.height / 2)
width: Math.round(parent.width / 2)
color: Kirigami.Theme.textColor
}
}
}
Príklad s vlastnými farbami