شرح الصفحات
تطبيقنا
في الدرس السابق، تمكنا من إعداد وبناء وترجمة أول تطبيق كيريغامي لنا. مع وضع الأساسيات، يمكننا بدء رحلتنا نحو إنشاء تطبيق كامل الميزات.
ستركز هذه الدروس على إنشاء تطبيق يتيح للمستخدم رؤية عدد الأيام المتبقية حتى حدث من اختياره.
نوصيك أيضًا بالاطلاع على معرض كيريغامي، الذي يوفر عددًا من أمثلة واجهة المستخدم المفيدة.
في هذا القسم سنركز على الصفحات، أحد العناصر الهيكلية الرئيسية لأي تطبيق كيريغامي.
الصفحات
تُنظَّم تطبيقات كيريغامي عادةً في صفحات باستخدام Kirigami.Page. الصفحات هي "الشاشات" المختلفة للتطبيق. سترغب في تخصيص صفحة لجوانب محددة من تفاعل تطبيقك، ولتسهيل الأمور يمكنك إنشاء ملفات QML مختلفة لكل صفحة.
تُنظَّم الصفحات في كومة صفحات حيث يمكن دفعها وسحبها. على الهاتف، تُعرض الصفحة العليا فقط، بينما على شاشة أكبر (حاسوب مكتبي أو لوحي)، يمكن عرض صفحات متعددة جنبًا إلى جنب إذا رغبت.

صفحة واحدة على الهاتف

صفحتان جنبًا إلى جنب على الحاسوب المكتبي
ملاحظة
ترث Kirigami.Page من Controls.Page، وبالتالي يمكنك استخدام خصائص الأخيرة أيضًا.
عند تصفح وثائق واجهة برمجة تطبيقات QML، تأكد من النظر في الدوال والخصائص الموروثة من واجهة البرمجة التي تتصفحها أيضًا.
لنعد إلى ملف Main.qml الذي أنشأناه في درسنا السابق:
| |
نجعل تطبيقنا يبدأ بصفحة Kirigami.Page. كل ما أدرجناه فيها هو تسمية تحتوي على "Hello World"، لكننا سنحسّن الأمور قليلًا.
الفكرة وراء تطبيقنا هي أننا سنتمكن من عرض مجموعة من العدّادات التنازلية للمستخدم. المشكلة مع Kirigami.Page العادية هي أن لها حجمًا رأسيًا ثابتًا، لذا بدلًا من ذلك يمكننا استخدام Kirigami.ScrollablePage، التي تأتي مع شريط تمرير مدمج خاص بها.
| |
تتميز صفحات كيريغامي أيضًا بعناوين أنيقة موضوعة داخل شريط الأدوات، تشير بسرعة للمستخدم إلى الصفحة التي يتصفحها. كل ما علينا فعله هو تعيين عنوان الصفحة باستخدام خاصية title من Kirigami.ScrollablePage. في هذه الحالة، استخدمنا إحدى دوال i18nc() التي استكشفناها في درسنا السابق لهذا الغرض.
ملاحظة
يمكنك أيضًا اختيار تعريف صفحتك داخل مستند QML خاص بها. للقيام بذلك، ستنشئ ملف QML الجديد، مثلًا kirigami-tutorial/src/qml/StartPage.qml، وتضيفه إلى ملف kirigami-tutorial/src/CMakeLists.txt، وتضبط الصفحة الأولى للنافذة لتحميله، كما يلي:
pageStack.initialPage: Qt.resolvedUrl("StartPage.qml")يضبط pageStack.initialPage الصفحة الأولية لكومة صفحات التطبيق، ويحوّل Qt.resolvedUrl المسار النسبي لملف QML إلى مسار مطلق.
توجد معلومات إضافية حول هياكل الصفحات البديلة ضمن وثائق كيريغامي الخاصة بنا.