Skip to main content
Skip to content

Stránky FormCard O aplikácii

Naučte sa vytvárať stránky O aplikácii na uvedenie autorov vašej aplikácie.

Kirigami Addons je dodatočná sada vizuálnych komponentov, ktoré dobre fungujú na mobiloch aj desktopoch a je zaručená ich multiplatformovosť. Na vytváranie svojich komponentov používa Kirigami pod kapotou.

Niektoré z týchto komponentov vám umožňujú uviesť vašu prácu a prácu ďalších prispievateľov vo vašom projekte, ako aj spomenúť frameworky používané vo vašej aplikácii: AboutKDE a AboutPage.

O KDE

Každé nové tlačidlo, ktoré sme vytvorili v predchádzajúcom kroku, by malo otvoriť novú stránku. Nové stránky môžete pridať ich inštanciovaním ako Components a potom použitím pageStack.layers.push() pre každé tlačidlo na načítanie tej stránky v našom 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 naozaj všetko! Stačí inštanciovať FormCard.AboutKDE. Po kliknutí na tlačidlo AboutKDE by ste mali vidieť niečo takéto:

Stránka O aplikácii

AboutPage aplikácie je o niečo zložitejšia, ale stále je veľmi jednoduchá na použitie.

Pre jednoduchú stránku O aplikácii, ktorá používa dáta nastavené cez KAboutData::setApplicationData(aboutData); v main.cpp, pridajte do vášho Main.qml nasledovné:

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

Stránka O aplikácii našej aplikácie by mala vyzerať takto:

Použitie JSON namiesto KAboutData

Namiesto toho, aby vaša stránka O aplikácii získavala informácie z KAboutData, je možné odovzdať objekt JSON priamo. Stále budete musieť použiť QApplication::setWindowIcon() vo vašom main.cpp, aby sa zobrazila ikona vašej aplikácie.

Vytvorte MyAboutPage.qml takto:

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

}

A potom upravte váš Main.qml tak, aby zahŕňal vašu novú stránku O aplikácii:

Hlavný objekt JSON tu obsahuje kľúče displayName, productName, homepage a tak ďalej. Kľúčom authors, credits, translators a licenses je možné odovzdať pole objektov. Objekty odovzdané do authors, credits a translators zdieľajú rovnaké kľúče, takže každý sa môže zobraziť vo vlastnej sekcii, zatiaľ čo licenses obsahuje kľúče name, text a spdx pre každú pridanú licenciu, pretože nie je neobvyklé, že rovnaký projekt obsahuje viacero licencií.

Tieto kľúče sú voliteľné, ale očakáva sa rozumný minimálny počet kľúčov, aby vaša aplikácia nemala prázdne polia: displayName, version, description, homepage, copyrightStatement a authors. Odporúča sa však vyplniť čo najviac kľúčov.