Páginas Sobre no FormCard
Os Addons do Kirigami é um conjunto adicional de componentes visuais que funcionam bem em dispositivos móveis e desktops, com garantia de compatibilidade entre plataformas. Ele utiliza Kirigami internamente para criar seus componentes.
Alguns desses componentes permitem que você dê crédito ao seu trabalho e ao trabalho de outros colaboradores do seu projeto, além de mencionar os frameworks usados em seu aplicativo: [AboutKDE](https://api.kde.org/frameworks/kirigami-addons /html/classAboutKDE.html) e AboutPage.
Sobre o KDE
Cada novo botão que criamos na etapa anterior deve abrir uma nova página. Você pode adicionar novas páginas instanciando-as como Components e, em seguida, usando pageStack.layers.push()
para cada botão para carregar essa página em nosso Main.qml
:
|
|
É isso mesmo! Basta instanciar FormCard.AboutKDE
. Você deverá ver algo assim após clicar no botão AboutKDE:

Página Sobre
O AboutPage do aplicativo é um pouco mais complexo, mas ainda é muito simples de usar.
Para uma página Sobre simples que usa o conjunto de dados definido por KAboutData::setApplicationData(aboutData);
em main.cpp
, adicione o seguinte ao seu Main.qml
:
|
|
A página Sobre do nosso aplicativo deve ser semelhante a esta:

Usando JSON em vez de KAboutData
Em vez de permitir que sua página "Sobre" obtenha informações de KAboutData, é possível passar um objeto JSON diretamente. Você ainda precisará usar QApplication::setWindowIcon() no seu main.cpp
para que o ícone do seu aplicativo seja exibido.
Crie um 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" : ""
}
}
E então ajuste seu Main.qml
para incluir sua nova página Sobre:
|
|
O objeto JSON principal aqui contém as chaves displayName
, productName
, homepage
e assim por diante. As chaves authors
, credits
, translators
e licenses
podem receber, cada uma, um array de objetos. Os objetos passados para authors
, credits
e translators
compartilham as mesmas chaves, de modo que podem ser exibidos cada um em sua própria seção, enquanto licenses
inclui as chaves name
, text
e spdx
para cada licença adicionada, pois não é incomum que o mesmo projeto inclua várias licenças.
Essas chaves são opcionais, mas espera-se um número mínimo razoável de chaves para que seu aplicativo não tenha campos vazios: displayName
, version
, description
, homepage
, copyrightStatement
e authors
. No entanto, recomendamos que você preencha o máximo de chaves possível.