Skip to main content
تخط المحتوى

صفحات حول FormCard

تعلم إنشاء صفحات حول لنسب الفضل لتطبيقك.

ملحقات كيريغامي هي مجموعة إضافية من المكونات البصرية التي تعمل بشكل جيد على الجوال والحاسوب المكتبي ومضمونة أن تكون عبر المنصات. تستخدم كيريغامي في الخلفية لإنشاء مكوناتها.

تسمح لك بعض تلك المكونات بنسب الفضل لعملك وعمل المساهمين الآخرين في مشروعك، بالإضافة إلى ذكر الأطر المستخدمة في تطبيقك: AboutKDE و AboutPage.

حول كيدي

ينبغي أن يفتح كل زر جديد أنشأناه في الخطوة السابقة صفحة جديدة. يمكنك إضافة صفحات جديدة عن طريق إنشاء مثيلات لها كمكونات Components ثم استخدام pageStack.layers.push() لكل زر لتحميل تلك الصفحة في ملف Main.qml الخاص بنا:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import QtQuick
import QtQuick.Layouts

import org.kde.kirigami as Kirigami
import org.kde.kirigamiaddons.formcard as FormCard

import org.kde.about 1.0

Kirigami.ApplicationWindow {
    id: root
    width: 600
    height: 700

    Component {
        id: aboutkde
        FormCard.AboutKDE {}
    }

    pageStack.initialPage: Kirigami.ScrollablePage {
        ColumnLayout {
            FormCard.FormCard {
                FormCard.FormButtonDelegate {
                    id: aboutKDEButton
                    icon.name: "kde"
                    text: i18n("About KDE Page")
                    onClicked: root.pageStack.layers.push(aboutkde)
                }

                FormCard.FormButtonDelegate {
                    id: aboutPageButton
                    icon.name: "applications-utilities"
                    text: i18n("About Addons Example")
                }

                FormCard.FormButtonDelegate {
                    id: settingsButton
                    icon.name: "settings-configure"
                    text: i18n("Single Settings Page")
                }
            }
        }
    }
}

هذا كل شيء حقاً! كل ما يلزم هو إنشاء مثيل لـ FormCard.AboutKDE. ينبغي أن ترى شيئاً كهذا بعد النقر على زر AboutKDE:

صفحة حول

AboutPage الخاصة بالتطبيق أكثر تعقيداً قليلاً، لكنها لا تزال بسيطة جداً في الاستخدام.

للحصول على صفحة حول بسيطة تستخدم البيانات المُعينة بواسطة KAboutData::setApplicationData(aboutData); في main.cpp أضف التالي إلى ملف Main.qml الخاص بك:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import QtQuick
import QtQuick.Layouts

import org.kde.kirigami as Kirigami
import org.kde.kirigamiaddons.formcard as FormCard

import org.kde.about 1.0

Kirigami.ApplicationWindow {
    id: root
    width: 600
    height: 700

    Component {
        id: aboutkde
        FormCard.AboutKDE {}
    }

    Component {
        id: aboutpage
        FormCard.AboutPage {}
    }

    pageStack.initialPage: Kirigami.ScrollablePage {
        ColumnLayout {
            FormCard.FormCard {
                FormCard.FormButtonDelegate {
                    id: aboutKDEButton
                    icon.name: "kde"
                    text: i18n("About KDE Page")
                    onClicked: root.pageStack.layers.push(aboutkde)
                }

                FormCard.FormButtonDelegate {
                    id: aboutPageButton
                    icon.name: "applications-utilities"
                    text: i18n("About Addons Example")
                    onClicked: root.pageStack.layers.push(aboutpage)
                }

                FormCard.FormButtonDelegate {
                    id: settingsButton
                    icon.name: "settings-configure"
                    text: i18n("Single Settings Page")
                }
            }
        }
    }
}

ينبغي أن تبدو صفحة حول لتطبيقنا هكذا:

استخدام JSON بدلاً من KAboutData

بدلاً من ترك صفحة حول تحصل على المعلومات من KAboutData، من الممكن تمرير كائن JSON مباشرة. ستظل بحاجة إلى استخدام QApplication::setWindowIcon() في ملف main.cpp الخاص بك لكي يظهر أيقونة تطبيقك.

أنشئ ملف MyAboutPage.qml هكذا:

import org.kde.kirigamiaddons.formcard as FormCard
import org.kde.about

FormCard.AboutPage {
    title: i18nc("@action:button", "About")
    aboutData: {
        "displayName" : "Addons Example",
        "productName" : "",
        "componentName" : "addonsexample",
        "shortDescription" : "This program shows how to use AboutKDE and AboutPage",
        "homepage" : "https://kde.org",
        "bugAddress" : "",
        "version" : "1.0",
        "otherText" : "Optional text shown in the About",
        "authors" : [
            {
                "name" : "John Doe",
                "task" : "Maintainer",
                "emailAddress" : "",
                "webAddress" : "",
                "ocsUsername" : ""
            }
        ],
        "credits" : [],
        "translators" : [],
        "licenses" : [
            {
                "name" : "GPL v3",
                "text" : "Long license text goes here",
                "spdx" : "GPL-3.0"
            }
        ],
        "copyrightStatement" : "© 2023",
        "desktopFileName" : ""
    }

}

ثم اضبط ملف Main.qml الخاص بك ليتضمن صفحة حول الجديدة:

يحتوي كائن JSON الرئيسي هنا على المفاتيح displayName و productName و homepage وهكذا. يمكن تمرير مصفوفة من الكائنات لكل من المفاتيح authors و credits و translators و licenses. تشترك الكائنات الممررة إلى authors و credits و translators في نفس المفاتيح بحيث يمكن عرض كل منها في قسمه الخاص، بينما يتضمن licenses المفاتيح name و text و spdx لكل ترخيص مضاف، حيث أنه ليس من غير المألوف أن يتضمن نفس المشروع تراخيص متعددة.

هذه المفاتيح اختيارية، لكن يُتوقع حد أدنى معقول من المفاتيح لجعل تطبيقك لا يحتوي على حقول فارغة: displayName و version و description و homepage و copyrightStatement و authors. ومع ذلك، يُشجعك على ملء أكبر عدد ممكن من المفاتيح.