الألوان والسمات في كيريغامي
تمتلك كيريغامي لوحة ألوان تتبع ألوان النظام لتحسين التكامل مع المنصة التي تعمل عليها (مثل سطح مكتب بلازما، بلازما المحمول، جنوم، أندرويد، إلخ).
جميع مكونات كيريغامي QML وعناصر تحكم QtQuick تتبع هذه اللوحة مبدئيًا، لذا لا حاجة عادةً لتلوين مخصص لهذه العناصر.
يجب تلوين المكونات البدائية مثل Rectangle دائمًا باستخدام لوحة الألوان التي توفرها كيريغامي عبر الخاصية المرفقة Kirigami.Theme.
يُتجنب عادةً الألوان المقننة في QML مثل #32b2fa أو red؛ إذا كانت الحاجة ملحة لعناصر بألوان مخصصة، فيجب أن تكون في منطقة تستخدم ألوانًا مخصصة فقط (عادةً في منطقة المحتوى من التطبيق، وأبدًا في مناطق الإطار مثل أشرطة الأدوات أو الحوارات). مثلًا، لا يمكن استخدام لون أمامي مقنن black فوق خلفية Kirigami.Theme.backgroundColor، لأنه إذا استخدمت المنصة نظام ألوان داكنًا، ستكون النتيجة تباينًا ضعيفًا مع الأسود فوق الأسود تقريبًا. هذه مشكلة وصولية ويجب تجنبها.
ملاحظة
إذا احتجت حقًا لاستخدام ألوان مخصصة، فتفقد Kontrast لضمان أن الألوان التي تختارها ذات تباين جيد ومتوافقة مع WCAG.السمة
Kirigami.Theme هي خاصية مرفقة، وبالتالي فهي متاحة للاستخدام لأي عنصر QML. تتضمن خصائصها جميع الألوان المتاحة في اللوحة، وأي لوحة يجب استخدامها، مثل خاصية 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.Theme. يشمل ذلك جميع حالاتها: إذا نقرت خارج النافذة، تتغير الألوان إلى حالتها غير النشطة، وإذا بدّلت نظامك إلى سمة داكنة، تظهر المتغيرات الداكنة للألوان في الوقت الفعلي.

مكون الألوان في معرض كيريغامي
مجموعة الألوان
اعتمادًا على موقع عنصر التحكم، يجب أن يستخدم مجموعة ألوان مختلفة: مثلًا، عند استخدام نظام ألوان Breeze الفاتح في العروض، تكون الخلفية العادية بيضاء تقريبًا، بينما في مناطق أخرى مثل أشرطة الأدوات أو الحوارات، يكون لون الخلفية العادية رماديًا.
إذا عرّفت مجموعة ألوان لعنصر، فسترثها جميع العناصر الفرعية تلقائيًا بشكل متكرر (إلا إذا ضُبطت الخاصية inherit صراحةً على false، ويجب فعل ذلك دائمًا عندما يريد المطور فرض مجموعة ألوان محددة)، لذا من السهل تغيير الألوان لتسلسل هرمي كامل من العناصر دون لمس أي من العناصر نفسها.
يدعم Kirigami.Theme 5 مجموعات ألوان مختلفة:
- العرض: مجموعة ألوان لعروض العناصر، عادةً الأفتح بينها (في سمات الألوان الفاتحة)
- النافذة: مجموعة ألوان للنوافذ ومناطق الإطار (هذه أيضًا مجموعة الألوان المبدئية)
- الزر: مجموعة ألوان تستخدمها الأزرار
- التحديد: مجموعة ألوان تستخدمها المناطق المحددة
- التلميح: مجموعة ألوان تستخدمها التلميحات
- المكمل: مجموعة ألوان مخصصة لتكون مكملة للنافذة: عادةً داكنة حتى في السمات الفاتحة. قد تُستخدم للتأكيد في مناطق صغيرة من التطبيق
هذا مثال يوضح كيف تُورث مجموعات الألوان ويمكن استخدامها لتمييز المكونات المختلفة. أُضيف حد كبير لتباين الألوان.
| |

كيف تختلف مجموعات الألوان في Breeze

كيف تختلف مجموعات الألوان في Breeze الداكن
استخدام الألوان المخصصة
رغم أنه لا يُشجع استخدام الألوان المقننة، تقدم كيريغامي طريقة أكثر قابلية للصيانة لتعيين لوحة مقننة مخصصة لعنصر وجميع أبنائه، مما يسمح بتعريف هذه الألوان المخصصة في مكان واحد فقط:
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
// ملاحظة: بغض النظر عن مجموعة الألوان المستخدمة، يُوصى باستبدال جميع الألوان المتاحة في
// السمة، لتجنب الألوان ضعيفة التباين
Kirigami.Theme.colorSet: Kirigami.Theme.Window
Kirigami.Theme.backgroundColor: "#b9d795"
Kirigami.Theme.textColor: "#465c2b"
Kirigami.Theme.highlightColor: "#89e51c"
// أعد تعريف جميع الألوان الأخرى التي تريدها
// سيكون هذا "#b9d795"
color: Kirigami.Theme.backgroundColor
Rectangle {
// سيكون هذا "#465c2b"
anchors.centerIn: parent
height: Math.round(parent.height / 2)
width: Math.round(parent.width / 2)
color: Kirigami.Theme.textColor
}
}
}
مثال بألوان مخصصة