Skip to main content
Passa al contenuto

Pagine informative FormCard

Impara a creare pagine Informazioni per accreditare la tua domanda.

Kirigami Addons è un insieme aggiuntivo di componenti visivi che funzionano bene su dispositivi mobili e desktop e sono garantiti multipiattaforma. Utilizza Kirigami sotto il cofano per creare i suoi componenti.

Alcuni di questi componenti ti consentono di riconoscere il tuo lavoro e quello di altri contributori nel tuo progetto, nonché di menzionare i framework utilizzati nella tua applicazione: Informazioni su KDE e Informazioni sulla pagina.

Informazioni su KDE

Ogni nuovo pulsante creato nel passaggio precedente dovrebbe aprire una nuova pagina. Puoi aggiungere nuove pagine istanziandole come Componenti e quindi utilizzando pageStack.layers.push() per ciascun pulsante per caricare quella pagina nel nostro 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")
                }
            }
        }
    }
}

Questo è tutto davvero! Tutto ciò che serve è istanziare FormCard.AboutKDE. Dovresti vedere qualcosa di simile dopo aver fatto clic sul pulsante Informazioni su KDE:

Pagina delle informazioni

La AboutPage dell'applicazione è leggermente più complessa, ma è comunque molto semplice da usare.

Per una semplice pagina informativa che utilizza i dati impostati da KAboutData::setApplicationData(aboutData); in main.cpp aggiungi quanto segue al tuo 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")
                }
            }
        }
    }
}

La pagina sulle informazioni della nostra applicazione dovrebbe assomigliare a questa:

Uso di JSON invece di KAboutData

Invece di lasciare che la tua pagina informativa riceva informazioni da KAboutData, è possibile passare direttamente un oggetto JSON. Dovrai comunque utilizzare QApplication::setWindowIcon() nel tuo main.cpp affinché l'icona della tua applicazione venga visualizzata.

Crea una MyAboutPage.qml come questa:

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

}

Quindi modifica il tuo Main.qml per includere la tua nuova pagina informativa:

L'oggetto JSON principale qui contiene le chiavi "displayName", "productName", "homepage" e così via. Ciascuna delle chiavi "autori", "crediti", "traduttori" e "licenze" può ricevere un array di oggetti. Gli oggetti passati ad "autori", "riconoscimenti" e "traduttori" condividono le stesse chiavi in ​​modo che possano essere visualizzati ciascuno nella propria sezione, mentre "licenze" include le chiavi "nome", "testo" e "spdx" per ogni licenza aggiunta, poiché non è raro che lo stesso progetto includa più licenze.

Queste chiavi sono facoltative, ma è previsto un numero minimo ragionevole di chiavi per far sì che la tua applicazione non abbia campi vuoti: displayName, version, description, homepage, copyrightStatement e authors. Tuttavia, ti invitiamo a compilare quante più chiavi possibile.