Página acerca de FormCard
Los complementos de Kirigami son un conjunto adicional de componentes visuales que funcionan bien en el móvil y en el escritorio, con la garantía de ser multiplataforma. Usan Kirigami internamente para crear sus componentes.
Algunos de estos componentes le permiten mostrar los créditos de su trabajo y del de los colaboradores de su proyecto, así como hacer mención de las infraestructuras que usa su aplicación: AboutKDE y AboutPage.
Acerca de KDE
Cada nuevo botón que creamos en el paso anterior debería abrir una nueva página. Se pueden añadir nuevas páginas instanciándolas como Components y usando posteriormente pageStack.layers.push()
en cada botón para cargar la página en nuestro Main.qml
:
|
|
¡Eso es todo! Todo lo que se necesita es crear una instancia de FormCard.AboutKDE
. Debería ver algo parecido a esto tras pulsar el botón «AboutKDE»:
Página acerca de
La página AboutPage de la aplicación es ligeramente más complicada, aunque sigue siendo muy sencilla de usar.
Para una sencilla página «acerca de» que usa los datos definidos por KAboutData::setApplicationData(aboutData);
en main.cpp
, añada lo siguiente a su Main.qml
:
|
|
La página «Acerca de» de nuestra aplicación debería parecerse a esto:
Uso de JSON en lugar de KAboutData
En lugar de dejar que la página «acerca de» obtenga información de KAboutData, se puede pasar un objeto JSON directamente. Seguirá necesitando usar QApplication::setWindowIcon() en main.cpp
para que se muestre el icono de la aplicación.
Cree un MyAboutPage.qml
como este:
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" : ""
}
}
Y luego ajuste Main.qml
para que incluya la nueva página «acerca de»:
|
|
El objeto JSON principal contiene aquí las claves displayName
, productName
, homepage
y demás. Las claves authors
, translators
y licenses
se pueden pasar como array de objetos. Los objetos que se pasan a authors
, credits
y translators
comparten las mismas claves, por lo que cada uno se puede mostrar en su propia sección, mientras que licenses
incluye las claves name
, text
y spdx
para cada licencia que se añada, ya que es común que un proyecto incluya múltiples licencias.
Estas claves son opcionales, aunque se espera una cantidad mínima de claves razonable para que la aplicación no tenga en blanco los campos displayName
, version
, description
, homepage
, copyrightStatement
y authors
. No obstante, se recomienda que se rellenen tantos como sea posible.