Skip to main content
Preskoči na vsebino

FormCard o programu

Naučite se ustvariti stran O programu, da si pripišete zasluge za aplikacijo.

Kirigami Addons je dodaten nabor vizualnih komponent, ki dobro delujejo na mobilnih in namiznih napravah ter so zajamčeno medplatformski. Pod pokrovom uporablja Kirigami za ustvarjanje njegovih komponent.

Nekatere od teh komponent vam omogočajo, da navedete svoje delo in delo drugih sodelujočih v vašem projektu ter omenite ogrodja, ki jih uporabljate v svoji aplikaciji: AboutKDE in AboutPage.

O namizju KDE

Vsak nov gumb, ki smo ga ustvarili v prejšnjem koraku, bi moral odpreti novo stran. Nove strani lahko dodate tako, da jih ustvarite kot Components in nato uporabite pageStack.layers.push() za vsak gumb za nalaganje te strani v našem 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")
                }
            }
        }
    }
}

To je to! Vse, kar je potrebno, je ustvariti instanco FormCard.AboutKDE. Po kliku na gumb AboutKDE bi morali videti nekaj takega:

Stran o programu

Stran AboutPage v aplikaciji je nekoliko bolj zapletena, vendar je še vedno zelo preprosta za uporabo.

Za preprosto stran z informacijami, ki uporablja podatke, nastavljene v KAboutData::setApplicationData(aboutData); v main.cpp, dodajte naslednje v svoj 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")
                }
            }
        }
    }
}

Stran About page bi morala izgledati takole:

Uporaba JSON namesto KAboutData

Namesto da bi vaša stran »O nas« pridobivala informacije iz KAboutData, je mogoče neposredno posredovati objekt JSON. Za prikaz ikone aplikacije boste morali v datoteki main.cpp še vedno uporabiti QApplication::setWindowIcon().

Ustvarite MyAboutPage.qml takole:

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

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" : ""
    }

}

In nato prilagodite svoj Main.qml, da bo vključeval vašo novo stran o programu:

Glavni objekt JSON tukaj vsebuje ključe displayName, productName, homepage in tako naprej. Prek ključev authors, credits, translators in licences je mogoče posredovati niz predmetov. Predmeti, ki so prešli na authors, credits in translators si delijo iste ključe, tako da so lahko prikazani vsak v svojem razdelku, medtem ko licences vključuje ključename, text in spdx za vsako dodano licenco, saj ni neobičajno, da je isti projekt za vključenih več licenc.

Ti ključi so neobvezni, vendar se pričakuje razumno minimalno število ključev, da vaša aplikacija nima praznih polj: displayName, version, description, homepage, copyrightStatement in authors. Seveda se spodbuja, da izpolnite čim več ključev.