Colori e temi in Kirigami
Kirigami ha una tavolozza di colori che segue i colori del sistema per integrarsi meglio con la piattaforma su cui è in esecuzione (ad esempio Plasma Desktop, Plasma Mobile, GNOME, Android, ecc.).
Tutti i componenti QML di Kirigami e i controlli QtQuick dovrebbero già seguire questa tavolozza per impostazione predefinita, quindi di solito non dovrebbe essere necessaria alcuna colorazione personalizzata per questi controlli.
I componenti primitivi come Rectangle dovrebbero sempre essere colorati con la tavolozza dei colori fornita da Kirigami tramite la proprietà allegata Kirigami.Theme.
I colori codificati in QML, come #32b2fa o red, dovrebbero solitamente essere evitati; se è davvero necessario avere elementi con colori personalizzati, dovrebbe essere un'area in cui vengono utilizzati solo colori personalizzati (di solito nell'area dei contenuti dell'applicazione e mai nelle aree cromate come barre degli strumenti o finestre di dialogo). Ad esempio, un primo piano nero codificato non può essere utilizzato su uno sfondo [Kirigami.Theme. backgroundColor](https://api.kde.org/qml-org-kde-kirigami-platform-theme.html# backgroundColor-attached-prop), perché se la piattaforma utilizza uno schema di colori scuri il risultato avrà uno scarso contrasto con il nero su quasi nero. Questo è un problema di accessibilità e dovrebbe essere evitato.
Nota
Se hai davvero bisogno di usare colori personalizzati, controlla Kontrast per assicurarti che i colori che scegli abbiano un buon contrasto e siano conformi alle WCAG.Tema
Kirigami.Theme è una proprietà collegata e pertanto è disponibile per l'uso per qualsiasi elemento QML. Le sue proprietà includono tutti i colori disponibili nella tavolozza e quale tavolozza utilizzare, come la proprietà 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
}
}
}Galleria Kirigami fornisce un esempio di codice che mostra tutti i colori disponibili per Kirigami attraverso Kirigami.Theme. Ciò include tutti i loro stati: se fai clic all'esterno della finestra, i colori passano allo stato inattivo e se passi il sistema a un tema scuro, le varianti scure dei colori dovrebbero apparire in tempo reale.

Il componente Colori nella Galleria Kirigami
Insieme di colori
A seconda di dove si trova un controllo, dovrebbe utilizzare un set di colori diverso: ad esempio, quando viene utilizzata la combinazione di colori Breeze Light in Visualizzazioni, lo sfondo normale è quasi bianco, mentre in altre regioni, come barre degli strumenti o finestre di dialogo, il colore di sfondo normale è grigio.
Se definisci un set di colori per un elemento, tutti i suoi elementi secondari lo erediteranno automaticamente in modo ricorsivo (a meno che la proprietà inherit non sia stata esplicitamente impostata su "false", cosa che dovrebbe sempre essere fatta quando lo sviluppatore vuole forzare un set di colori specifico), quindi è facile cambiare i colori per un'intera gerarchia di elementi senza toccare uno qualsiasi degli elementi stessi.
Kirigami.Theme supporta 5 diversi set di colori:
- Vista: l'insieme dei colori per le viste degli elementi, di solito il più chiaro di tutti (nei temi di colori chiari)
- Finestra: set di colori per finestre e aree cromate (questo è anche il set di colori predefinito)
- Pulsante: l'insieme dei colori usato dai pulsanti
- Selezione: l'insieme dei colori usato per le aree selezionate
- Suggerimento: l'insieme dei colori usato dai suggerimenti
- Complementare: set di colori pensato per essere complementare a Window: solitamente scuro anche nei temi chiari. Può essere utilizzato per enfatizzare piccole aree dell'applicazione
Ecco un esempio che mostra come i set di colori vengono ereditati e come possono essere utilizzati per distinguere diversi componenti. È stato aggiunto un ampio bordo per contrastare i colori.
| |

Come differiscono i set di colori in Breeze

Come differiscono i set di colori in Breeze Dark
Uso di colori personalizzati
Sebbene sia sconsigliato utilizzare colori codificati, Kirigami offre un modo più gestibile per assegnare una tavolozza codificata personalizzata a un oggetto e a tutti i suoi figli, che consente di definire tali colori personalizzati in un posto e in uno solo:
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
// NOTA: indipendentemente dal set di colori utilizzato, si consiglia di sostituire tutti i
// colori disponibili nel Tema, per evitare colori troppo contrastanti
Kirigami.Theme.colorSet: Kirigami.Theme.Window
Kirigami.Theme.backgroundColor: "#b9d795"
Kirigami.Theme.textColor: "#465c2b"
Kirigami.Theme.highlightColor: "#89e51c"
// Ridefinisci tutti gli altri colori che desideri
// Questo sarà "#b9d795"
color: Kirigami.Theme.backgroundColor
Rectangle {
// Questo sarà "#465c2b"
anchors.centerIn: parent
height: Math.round(parent.height / 2)
width: Math.round(parent.width / 2)
color: Kirigami.Theme.textColor
}
}
}
Esempio con colori personalizzati